[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [pde-dev] New Target API not included for M5
|
Thanks a lot Darin. This will save me some time.
Regards,
Thomas Hallgren
On 01/28/2010 04:35 PM, Darin Wright wrote:
Is this present already? I would like to enable easy support for this in
Buckminster. I already have headless commands for defining and importing
target definitions, but so far, nothing for the API baselines. Ideally,
I'd like to add a command saying "make this TP the workspace baseline".
Pointers to relevant code would be very helpful. Nonofficial is OK :-)
Here is sample code to create an API baseline from a target definition
(from
/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/use/ApiUseLaunchDelegate.java)
/**
* Creates an API baseline from a target definition.
*
* @param definition
* @param monitor progress monitor
*/
private IApiBaseline createBaseline(ITargetDefinition definition,
IProgressMonitor monitor) throws CoreException {
SubMonitor localmonitor = SubMonitor.convert(monitor,
Messages.ApiUseScanJob_reading_target, 10);
definition.resolve(localmonitor.newChild(2));
Util.updateMonitor(localmonitor, 1);
IResolvedBundle[] bundles = definition.getBundles();
List components = new ArrayList();
IApiBaseline profile = ApiModelFactory.newApiBaseline
(definition.getName());
localmonitor.setWorkRemaining(bundles.length);
for (int i = 0; i< bundles.length; i++) {
Util.updateMonitor(localmonitor, 1);
if (bundles[i].getStatus().isOK()&&
!bundles[i].isSourceBundle()) {
IApiComponent component = ApiModelFactory.
newApiComponent(profile, URIUtil.toFile(
bundles[i].getBundleInfo().getLocation()).getAbsolutePath());
if (component != null) {
components.add(component);
}
}
}
profile.addApiComponents((IApiComponent[])
components.toArray(new IApiComponent[components.size()]));
return profile;
}
Darin
_______________________________________________
pde-dev mailing list
pde-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pde-dev