Как мне отразить функцию? - PullRequest
1 голос
/ 15 июня 2011

С помощью задач p2 ant довольно просто отразить плагины для функции.

Но как мне отразить все необходимое для установки функции?

Ответы [ 2 ]

3 голосов
/ 29 июля 2011

Не удалось заставить p2.mirror работать;задача либо отражает слишком много (как и все версии функции, даже если вас интересует только последняя или конкретная версия), и / или слишком мало (например, просто функция, но ни одна из зависимостей).

Мое решение было таким:

  1. Распакуйте Eclipse в eclipse-template
  2. Создайте копию как eclipse-install
  3. Установите функцию в eclipse-install
  4. Удалите любой файл в копии, существующий в версии, начиная с шага 1 (cd eclipse-template ; find . -type f -exec rm "../eclipse-install/{}").

В результате у вас останутся файлы функций и плагинов.Используйте org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher, чтобы превратить это в репозиторий p2 ( подробности см. В документах ).

[ОБНОВЛЕНИЕ 2011-11-01] Существует другое решение, есливам не нужно запускать это из командной строки.

  1. Создать «Определение цели» в проекте Eclipse (создать новое или использовать существующее, не имеет значения)
  2. Добавить сайты обновлений в этот * .target файл
  3. Выберите нужные функции
  4. Нажмите крошечную кнопку «Экспорт» в правом верхнем углу редактора определения цели (затемна «Установить как целевую платформу»)

Это позволит экспортировать все выбранные функции с точной выбранной версией плюс все зависимости в выбранной папке.

Редактор назначениянемного неуклюжий и медленный, но он работает.

Держите файл под контролем версий , потому что редактор назначения иногда ошибается.

0 голосов
/ 15 июня 2011

Я использую следующий код Ant для зеркального отображения 2 функций в одном репозитории:

<!-- Creates single p2 repo from 2 repos -->
<p2.mirror>
    <repository location="file:///${DESTINATION}/repo-name" append="false"/>
    <source>
       <repository location="file:///${feature1-repo}/feature1"/>
       <repository location="file:///${feature2-repo}/feature2"/>
    </source>
</p2.mirror>

Кроме того, вы можете использовать <iu> и идентификатор функции, чтобы указать функцию для зеркального отображения. Идентификатор объекта должен быть указан следующим образом:

your.feature.id.group.group.group 

Если у вас есть особые конфигурации формы пластины для вашей функции, то IU становится

your.feature.id.win32.win32.x86 (OS, Widget system, Architecture)
...