Вопрос

Я хочу создать автоматический установщик для плагина Eclipse (т. е.не через "Менеджер обновлений").Мой сценарий прост:пользователь закрывает Eclipse, помещает загруженный JAR-файл в папку dropins, запускает Eclipse, и остальная часть процесса автоматизируется.

В более старых версиях Eclipse, до эпохи P2, в Eclipse был (до сих пор есть) класс под названием InstallCommand который может быть использован для установки дополнений в текущую платформу.

Хотя это все еще работает в Eclipse 3.4 и 3.5, оно ведет себя неправильно:наиболее примечательно, что плагины, установленные таким образом, не могут быть автоматически удалены (они затемнены).

JavaDoc утверждает, что InstallCommand устарел и должен быть заменен альтернативой P2.Однако я не смог найти подходящий инструмент для этой работы.Есть тот самый Директор P2, но он создан для запуска как отдельное приложение из командной строки.Его можно вызвать из Eclipse, но на самом деле он не предназначен для этого.Например, мониторинг хода выполнения и отчеты об ошибках работают плохо.

Кто-нибудь знает хорошую альтернативу для этого?

Спасибо, Цвики

Это было полезно?

Решение

Dropins кажется очень близким к тому, что вы хотите, особенно если они просто загружают jars без связанных метаданных (т. Е. метаданные должны быть сгенерированы автоматически).

Вы могли бы рассмотреть возможность определения второй области dropins для самостоятельного управления.Взгляните на ProfileSynchronizer в org.eclipse.equinox.p2.reconciler.dropins, в частности, метод createProfileChangeRequest.Я ожидаю, что поведение при удалении, которое вам не нравится, является результатом IInstallableUnit.PROP_PROFILE_LOCKED_IU добавляемое свойство.

Удаляемые файлы согласовываются при запуске, см. Активатор p2.reconciler.dropins.watchDropins(), вы, вероятно, можете сделать то же самое из своего собственного пакета для просмотра другой папки.

Другие советы

Я предлагаю развернуть ваш плагин в виде исполняемого файла JAR.Установщик в JAR должен запросить каталог установки Eclipse и распаковать плагин в нужном месте (плюс еще несколько проверок по мере необходимости).

При необходимости включите небольшой плагин "watchdog", который не зависит от многого и просто проверяет правильность загрузки вашего основного плагина и отображает полезное сообщение об ошибке, которое пользователь может отправить вам по электронной почте для получения поддержки.

Согласно информации, содержащейся в ошибке 311590 1 на который ссылается комментарий к устареванию InstallCommand, альтернативой, возможно, является использование операций P2 2, 3.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top