2013-04-26 2 views
0

Мне нужно создать репозитории p2 для добавления дополнительного программного обеспечения в мое приложение. , например, я хочу экрнализировать все пакеты i18n, поэтому у меня есть набор функций только с фрагментами i18n.Репозиторий p2 только с содержимым функции и без зависимостей

То, что я делаю, это полный репозиторий p2, который был создан pde и содержит продукт и плагины и функции i18n.

Я пытаюсь использовать задачу p2.mirror ant для создания репозитория p2 только с фрагментами i18n, но проблема в том, что он всегда отображает узловые узлы, от которых зависит набор i18n. Это делает мой p2 репо огромным, потому что он имеет большую часть моего приложения вместе с i18n.

<p2.mirror source="file://${build.repo.path}" destination="file://${i18n.repo.path}"> 
    <iu id="org.talend.i18n.all-feature.feature.group" version="" /> 
</p2.mirror> 

Есть ли способ, чтобы создать хранилище p2, включая только пачку, на которые ссылаются в данной функции, а не те, которые их приютили?

ответ

1

Вы должны добавить так называемые «варианты нарезки» и указать, что вы хотите, только строгие зависимости дальности версии:

<p2.mirror ...> 
    <slicingoptions followStrict="true" /> 
</p2.mirror> 

Отношение включения между функциями и плагинами кодируется в p2 в строгом диапазоне версии , поэтому с этой опцией вы должны получить только эту функцию и включенные плагины.

Обратите внимание, что p2 полагается на издателей, чтобы правильно перевести информацию из feature.xml. Если вы используете нестандартный издатель или влияете на публикацию через p2.inf, то строгие ограничения диапазона версий могут не соответствовать 1: 1 для включений. В этом случае невозможно достичь того, чего вы хотите. p2 зеркалирование будет работать только на метаданных p2 – нет возможности снова взглянуть на feature.xml.

+1

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

Смежные вопросы