Я пытаюсь настроить Maven для создания приложения Eclipse (плагин Eclipse, упакованный со всеми Eclipse EXE и т.д.).
Я уже определил несколько десятков зависимостей проекта и развернул их на нашем внутреннем сервере Nexus (OSS). Я также установил плагин Rexor Nexus P2 и плагин P2 Bridge (2.6.3-01) и плагин Nexus Unzip (0.12.0). Я могу перейти к папке .meta/p2 нашего репозитория групп, но в настоящее время пуст.
Это должно быть намного проще, чем кажется на данный момент. Я нацелен на Eclipse 3.4.2 (Ganymede) в Windows. Если это имеет какое-либо значение, мы фактически развертываем наше приложение, упакованное как урезанная/настроенная установка Eclipse.
затмение-хранилище
Когда я запускаю maven против pom с <packaging>eclipse-repository</packaging>
, я получаю следующую ошибку:
[ERROR] Missing requirement: MyApp 0.0.0 requires
'org.eclipse.equinox.executable.feature.group 0.0.0'
but it could not be found
... откуда мне это получить и как добавить его в Nexus?
Когда я запускаю maven против pom с <packaging>eclipse-plugin</packaging>
, я получаю следующую ошибку:
[ERROR] Missing requirement: MyApp 0.0.0 requires
'bundle org.eclipse.ui 0.0.0'
but it could not be found
... но я нашел следующие каталоги в моей локальной файловой системе (подозрительный itp-04-rcp сгенерировал первый):
D:\maven\repository\p2\osgi\bundle\org.eclipse.ui\3.6.2.M20110203-1100
D:\maven\repository\p2\osgi\bundle\org.eclipse.ui\3.7.0.v20110928-1505
Tycho POM-Первые артефакты
Я также пробовал команды pom-first-dependencies и manifest-first-dependency: http://wiki.eclipse.org/Tycho/How_Tos/Dependency_on_pom-first_artifacts
Я не понимаю, как это работает - я могу построить itp02 из Git. Я вижу, что он создает два пакета:
+---------------------+---------------------+--------------------------------------+ | artifactId | Bundle-Name | Bundle-SymbolicName | +---------------------+---------------------+--------------------------------------+ | pomfirst-bundle | pomfirst-bundle | tycho.demo.itp02.pomfirst-bundle | | pomfirst-thirdparty | pomfirst-thirdparty | tycho.demo.itp02.pomfirst-thirdparty | +---------------------+---------------------+--------------------------------------+
... но как это сделать build02? Единственный бит, который кажется актуальным, это:
Import-Package: tycho.demo.itp02.pomfirst
... это не имеет никакого отношения ни к одному из Bundle-Names.
Плагин Felix Maven Bundle
Я попробовал Felix maven-bundle-plugin. Я включаю все мои регулярные зависимости maven в pom с <packaging>bundle</packaging>
.
-
mvn deploy
создает что-то в /nexus/content/repositories/snapshots/.meta/p2/plugins. Я могу загрузить банку через браузер, но все баны зависимости называются "artifact-vresion", а не "artifact_version" - это правильно? -
mvn bundle:bundleall
создает пакет OSGI для каждой из транзитивных зависимостей, но я не уверен, что с ними делать. -
mvn bundle:deploy
отказывается делать что-либо, если я не укажу-DremoteOBR
и, возможно, несколько других параметров, которые я действительно не понимаю.