[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] public API now internal?

We don't construct operands.  We call the planner and inspect the resulting operands (via IProvisioningPlan.getOperands() which is now deleted) for pertinent information.   This is a show stopper for us.

From: John Arthorne <arthorne.eclipse@xxxxxxxxx>
To: P2 developer discussions <p2-dev@xxxxxxxxxxx>
Date: 03/09/2010 11:17 AM
Subject: Re: [p2-dev] public API now internal?
Sent by: p2-dev-bounces@xxxxxxxxxxx

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:


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);
engine.perform(plan, phases, monitor);

This one seems to have disappeared altogether (though it was public API in earlier 3.6 builds ):


There are now factory methods for this rather than concrete classes. See QueryUtil#createIUQuery.

p2-dev mailing list