Лучший способ поделиться целевой платформой для проекта Eclipse RCP

Как лучше всего поделиться целевой платформой?

Например. вместе с исходным кодом некоторого проекта RCP.

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

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

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

Проблема здесь в том, как я могу перевести список сайтов p2 в каталог, содержащий те плагины и функции, которые предоставляются сайтом обновлений?

Когда я устанавливаю конкретную целевую платформу из Eclipse, где на самом деле сохраняются эти артефакты? я предполагаю, что могу просто скопировать этот каталог.


person kerner1000    schedule 10.08.2017    source источник


Ответы (1)


Несмотря на иногда медленные репозитории Eclipse p2 и плохой редактор целевой платформы, я все же рекомендую использовать .target файлы. Ими легко поделиться, потому что они могут храниться в репозитории исходного кода.

При разрешении целевой платформы PDE кэширует пакеты в каталоге .metadata/.plugins/org.eclipse.pde.core/.bundle_pool рабочей области.

Использование файлов .target также позволяет использовать Tycho в качестве инструмента сборки. Однако обратите внимание, что Tycho не может читать из локальных (т. Е. file://) репозиториев.

Это наиболее распространенный и наиболее приемлемый способ предоставления зависимостей для разработки RCP / плагинов.

Чтобы снизить ненадежную производительность репозиториев Eclipse p2, вы можете захотеть отразить их и указать зеркальные сайты в определении вашей целевой платформы.

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

person Rüdiger Herrmann    schedule 10.08.2017
comment
Генератор целевой платформы выглядит великолепно, я попробую! Редактор целевой платформы - это кошмар, я полностью согласен. - person kerner1000; 10.08.2017
comment
Мы используем Tycho для создания продукта, тем не менее я думал, что Tycho не может обрабатывать .target файлы. Мы определяем репозитории вручную через записи репозиториев Maven. - person kerner1000; 10.08.2017
comment
Мы также используем Oomph для настройки IDE разработчика, но Oomph испытывает трудности с использованием настраиваемой целевой платформы. Временным решением для этого также было использование локальных файлов. Не могли бы вы дополнить свой ответ некоторой информацией о том, где на самом деле материализуется целевая платформа? - person kerner1000; 10.08.2017
comment
Я успешно использую целевые платформы с Tycho, см. Главный pom.xml этого проекта github.com/rherrmann/eclipse -extras для примера: - person Rüdiger Herrmann; 10.08.2017
comment
@ kerner1000, пожалуйста, посмотрите мой отредактированный ответ. Это ответ на ваш вопрос? - person Rüdiger Herrmann; 11.08.2017
comment
отлично, спасибо большое! Тем не менее я не вижу каталог bundle_pool. Но у меня .local_targets. Я предполагаю, что если я использую каталог Target Platform, пакеты никуда не копируются и просто остаются на месте. Это объяснило бы хорошую производительность, разрешающую такую ​​целевую платформу. - person kerner1000; 11.08.2017
comment
Правильно, с целевой платформой каталога нет bundle_pool, потому что пакеты уже доступны локально. И снова обратите внимание на то, что целевые платформы каталогов не могут использоваться Tycho. Следовательно, вы, вероятно, захотите заменить их на адреса http (s). - person Rüdiger Herrmann; 11.08.2017
comment
@ RüdigerHerrmann Я искал, где PDE кэширует пакеты при разрешении целевой платформы. Спасибо, что ответили за меня! - person ajh158; 17.01.2019