Зависимость от платформы проникает в плагин Eclipse

Я реализовал графический редактор с Eclipse EMF и GMF. После завершения моего проекта я понял, что этот плагин показывает зависимости (не добавленные мной явно) от некоторых плагинов, специфичных для ОС, например: org.eclipse.ui.win32, org.eclipse.swt.win32.win32.x86. И всякий раз, когда я пытался обойти эту зависимость на своем сайте обновлений, что-то шло не так с процессом установки плагина.

Таким образом, невозможно запустить мой плагин в среде * nix или даже на машинах с win64. Это кажется мне очень сильной зависимостью от ограничений. Я делаю что-то не так? Или нет другого способа создания подключаемых модулей Eclipse, которые являются кросс-платформенными, кроме создания проекта с нуля в каждой из разных ОС?


person curious    schedule 23.05.2011    source источник
comment
Почему он использует эти плагины для конкретной ОС?   -  person Robin Green    schedule 23.05.2011
comment
В качестве последнего шага моего процесса создания я сделал плагин функции, а затем проект обновления, чтобы загрузить плагин онлайн. При создании плагина функции я объявляю свои плагины, которые состоят из создателя графика, а затем функция автоматически заполняет список плагинов, которые зависят от них. В этом списке есть те 2 плагина win32   -  person curious    schedule 23.05.2011


Ответы (1)


Мы создали аналогичный стиль плагина в моем проекте. В разделе «Зависимости подключаемых модулей» в проводнике пакетов я вижу org.eclipse.swt.win32 в списке, но он нет в списке обязательных подключаемых модулей в plugin.xml.

Мы также успешно создали сайт обновлений, который без проблем работает для пользователей Mac.

Так что да, кроссплатформенный плагин возможен.

Я бы посоветовал вам сначала попробовать использовать «Экспорт ...» -> «Развертываемые плагины и фрагменты», чтобы создать кучу jar-файлов для вашего плагина. Посмотрите, можно ли их успешно установить, скопировав в папку drop-ins новой установки eclipse. Сделайте это сначала при установке Win32, а затем попробуйте на другой платформе. Как только вы это заработаете, используйте новую установку Eclipse для создания сайта обновлений.

person Adrian Mouat    schedule 23.05.2011
comment
Я согласен; это должно просто работать. Ираклис видит плагины win32, потому что Eclipse разрешает их в своей установке. Если его плагин установлен в Linux, Eclipse должен автоматически переключиться на вариант Linux. - person Aaron Digulla; 23.05.2011
comment
Я думаю, что понял свою ошибку. Когда я создаю функциональный плагин, в который я включаю свои плагины на вкладке «Зависимости», я проверил кнопку: «Вычислить», которая создает список с зависимостями плагинов от существующей рабочей среды. Тем временем, как Адриан упомянутые в списке плагинов зависимости *win32 есть, но теперь их нет в списке зависимостей - person curious; 23.05.2011