Файл продукта Eclipse RCP - как работать с несколькими платформами с зависимостями платформы c - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть приложение Eclipse RCP, чей файл .product содержит ссылки на собственные плагины SWT.

   <plugins>
      <plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64" fragment="true"/>
      <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
   </plugins>

Однако на других платформах (например, Ma c) эти плагины не могут быть разрешены. Если вы используете версию этого плагина Ma c (например, org.eclipse.swt.cocoa.macosx.x86_64), все работает нормально.

Есть ли какой-нибудь способ указать разные плагины для разных сред или более универсальный плагин c?

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

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

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

Функция. Файл xml, определяющий функцию, может указывать архитектуру ОС / GUI /.

Это то, что имеется в стандартной функции Eclipse org.eclipse.e4.rcp. xml Плагин SWT / фрагменты:

<plugin
      id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64"
      os="macosx"
      ws="cocoa"
      arch="x86_64"
      download-size="40"
      install-size="88"
      version="1.1.1100.v20190907-0426"
      fragment="true"/>

<plugin
      id="org.eclipse.equinox.launcher.gtk.linux.ppc64le"
      os="linux"
      ws="gtk"
      arch="ppc64le"
      download-size="76"
      install-size="253"
      version="1.1.1100.v20190907-0426"
      fragment="true"/>

<plugin
      id="org.eclipse.equinox.launcher.gtk.linux.x86_64"
      os="linux"
      ws="gtk"
      arch="x86_64"
      download-size="69"
      install-size="166"
      version="1.1.1100.v20190907-0426"
      fragment="true"/>

<plugin
      id="org.eclipse.equinox.launcher.win32.win32.x86_64"
      os="win32"
      ws="win32"
      arch="x86_64"
      download-size="80"
      install-size="161"
      version="1.1.1100.v20190907-0426"
      fragment="true"/>

<plugin
      id="org.eclipse.swt"
      download-size="16"
      install-size="32"
      version="3.114.0.v20200304-0601"
      unpack="false"/>
0 голосов
/ 10 апреля 2020

Основываясь на решении , предоставленном greg-449, я заметил, что вы можете иметь несколько противоречащих плагинов без проблем - т. Е. Можно указать как плагины Windows & Ma c, так и во время выполнения Eclipse используйте все, что сможете найти.

Это означает, что, указав оба плагина, несмотря на то, что один всегда отображается как ошибка (так как он неразрешим на этой платформе), он отлично работает.

...