[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [p2-dev] public API now internal?
- From: John Arthorne <arthorne.eclipse@xxxxxxxxx>
- Date: Tue, 9 Mar 2010 14:38:26 -0500
- Delivered-to: email@example.com
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=KQn2SrznCGcjoNC77ygIiqhqj2hAM7VMKin/z48vG6bAoYNHWn6HmjF8oAfneS146K x4wYGBhBSIEN5vlIaw27hO52m2pvpO6NZ9UnGcxw5LYTfEikoUhFuHohd9SF3Du2WDF6 CCvKreON4pfKL/+0fUh4Ohl5NJf6LL1g02W5g=
Then the methods such as IProvisioningPlan#getAdditions and #getRemovals should give you the equivalent information I think. For example, the added installable units can be obtained by:
IInstallableUnit added = plan.getAdditions().query(QueryUtil.ALL_UNITS).toArray(IInstallableUnit.class);
Not very user friendly, but it should get you the result you're looking for. However, I noticed there is no way to find out the profile properties and IU profile properties that the plan contains. I have entered bug 305225 for this.
On Tue, Mar 9, 2010 at 2:30 PM, Thomas M Houser <tmhouser@xxxxxxxxxx>
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.
On Tue, Mar 9, 2010 at 1:45 PM, Thomas M Houser <tmhouser@xxxxxxxxxx>
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
p2-dev mailing list
p2-dev mailing list