Я создаю функцию Eclipse, требование которой соответствует этому ... Функция должна иметь возможность автоматического удаления, если у пользователя отозвана лицензия.
Если вам нужна дополнительная справочная информация об этом, вот еще один вопрос, который я задал по этой теме.
Благодаря ответам на этот вопрос я пытался изучить API-интерфейс Eclipse p2. Я нашел несколько классов, которые выглядят полезными здесь
Я пытался создать один из этих классов в своем коде, но пока безуспешно.
Я читал справочную документацию, и я все время теряюсь.
Я застрял, потому что мне нужно снабдить OperationFactory набором объектов IInstallableUnit.
private void scheduleUninstallOperationJob(
Collection<? extends IVersionedId> toUninstall)
{
OperationFactory oFactory = new OperationFactory();
Collection<URI> repos = null;
UninstallOperation op = null;
try {
op = oFactory.createUninstallOperation(toUninstall, repos, null);
} catch (ProvisionException e) {
e.printStackTrace();
}
IStatus result = op.resolveModal(null);
if (result.isOK()) {
op.getProvisioningJob(null).schedule();
}
}
Я не вижу способа легко попросить работающий экземпляр Eclipse предоставить мне коллекцию установленных в настоящее время InstallableUnits, чтобы я мог легко передать тот, который хочу удалить, в OperationFactory.createUninstallOperation () метод.
Я пытался использовать исходный код Eclipse в качестве примера, но я обнаружил код org.eclipse.equinox.p2.ui.ProvisioningUI, и он тесно связан с пользовательским интерфейсом, который используется при удалении InstallableUnits вручную , Этот код также использует код, который находится в страшных Eclipse внутренних пакетах, которые я хотел бы по возможности избегать.
Спасибо за внимание, Трассировка