Я создал плагин Eclipse, и для поддержки его функциональности необходим собственный двоичный файл. У меня есть собственный код, готовый для Win и Mac. Вызов нативного кода отличается для каждой платформы, поэтому есть также некоторый код плагина, связанный с нативным кодом. (На самом деле нативный код — это код JNA, поэтому он действительно сильно отличается.) В настоящее время у меня есть точка расширения, и каждый встроенный плагин поддержки вносит свой вклад. Итак, как только здесь есть нативная поддержка, основной плагин работает. Также у меня есть тестовый фрагмент для каждого из встроенных плагинов поддержки функциональности модульного тестирования.
- Как мне настроить плагин(ы), чтобы каждый получал нужный плагин при загрузке с сайта обновлений или репозитория p2? (Я заметил, что, например, SWT использует фрагменты для нативного кода, так что это правильный путь?)
Изменить: после преобразования плагинов во фрагменты, как указано в ответе, что мне делать с фрагментами модульного тестирования этих плагинов? Фрагменты фрагментов невозможны.
- Как я могу настроить это в Tycho, чтобы сборка Tycho запускала тест, подходящий для текущей платформы, и игнорировала другую платформу.
Изменить: у меня есть собственный код для Mac и Windows, два фрагмента и, следовательно, две среды в файле pom. Но затем Tycho жалуется, что «плагин x не может быть установлен в этой среде, потому что его фильтр не применим», конечно, нет, в любой момент времени может быть активен только один из Win/Mac. Может ли Tycho понять это самостоятельно или мне нужны профили Maven, зависящие от ОС?