On Tue, Mar 9, 2010 at 1:45 PM, Thomas M Houser
<tmhouser@xxxxxxxxxx> wrote:
Ok, now I just switched to "eclipse-SDK-I20100305-1011-win32.zip"
as my target. The following APIs that were formerly provisional API
(in 3.5) and were later public API (in 3.6M5, and as recent as "eclipse-SDK-I20100217-1031-win32.zip")
have been made internal:
import
org.eclipse.equinox.p2.engine.InstallableUnitOperand;
import
org.eclipse.equinox.p2.engine.Operand;
The operands are no longer part of the p2 engine API. Instead of constructing instances of Operand and passing them to IEngine#perform, you now construct a plan and pass that to the engine instead. The main goal here was to avoid leaking internal implementation details of the engine. For example, the replacement for InstallableUnitOperand looks something like this (install a single IU into a profile):
IEngine engine = ...;
IProvisioningPlan plan = engine.createPlan(profile, context);
plan.addInstallableUnit(someIU);
engine.perform(plan, phases, monitor);
This one seems to have disappeared altogether
(though it was public API in earlier 3.6 builds ):
import
org.eclipse.equinox.p2.metadata.query.InstallableUnitQuery;
There are now factory methods for this rather than concrete classes. See QueryUtil#createIUQuery.