Плагин продукта VS Особенность продукта

В контексте приложения RCP мне интересно, должен ли я основывать свой продукт на плагинах или на функциях.

Основное отличие, которое я вижу на данный момент, касается содержимого экспортируемого приложения.

Использование плагинов в качестве базы продукта приводит к экспорту (с GUI или безголовой сборкой, это то же самое) со ВСЕМИ необходимыми плагинами (вычисляется, я думаю, через манифест плагинов).

Напротив, при использовании функции в качестве базы экспортируемый продукт содержит только перечисленные функции в файле продукта. Таким образом, я должен добавить вручную добавить все необходимые функции, чтобы мой продукт работал правильно. Это также имеет побочный эффект, чтобы принести все функции плагинов, даже если они не нужны.

Каков ваш опыт по этому вопросу?

РЕДАКТИРОВАТЬ В соответствии с комментариями Vonc, я создал свою собственную функцию, включающую только плагины, которые мне нужны из других функций. Это решение работает, но я должен вручную добавить все необходимые плагины для моего продукта в этой функции. Сегодня для этого единственное решение, которое я нашел, - это использовать вкладку плагинов конфигурации запуска с кнопкой "Вычислить требуемые плагины" и вручную отчитаться о всех выбранных плагинах. Это действительно скучно:-(Существуют ли другие решения?

Спасибо

1 ответ

Решение

После многих исследований здесь есть "четкий" (я надеюсь) статус по этому вопросу.

Плагин Продукты:

  • Нет проблем при сборке (Gui или без головы) => все необходимые (такие же, как необходимые плагины, вычисленные в диалоге настройки запуска при отладке приложения) плагины присутствуют
  • Занимаемая площадь диска приложения RCP оптимизирована! Нет бесполезных плагинов
  • Функции не экспортируются: в результате вкладка списка возможностей диалогового окна ab out пуста!!!
  • Похоже, что плагин продукты не рекомендуются для RCP с самообновлением (я еще не проверял это)

Особенность продукции:

  • При экспорте (без заголовка) единственными присутствующими плагинами и функциями являются те, которые перечислены в файле.product.
  • Необходимо создать "зависимости" функций, включая все необходимые плагины ИЛИ зависеть от всех функций, содержащих необходимые плагины => принести много бесполезных плагинов
  • Функции, перечисленные в диалоговом окне About

В моей личной ситуации я решил использовать функциональный продукт, а затем "вручную" создать функцию, включающую все 90 плагинов, необходимых для моего RCP.

Поскольку я ленивый и ненавижу повторяющиеся задачи, я написал простую основную Java-программу, проанализировав файл конфигурации запуска (.launch, расположенный в папке метаданных рабочей области) и сгенерировав из шаблона функцию со всеми необходимыми зависимостями.

Надеюсь, что это может помочь другим, и если вам нужен мой простой создатель зависимостей Java-функций, просто спросите его.

Manu

Другие вопросы по тегам