Добавление URL-адресов сайтов обновлений для поиска сторонних зависимостей во время установки.

У меня есть функция Eclipse, которая при установке на Helios требует присутствия дополнительного URL-адреса сайта обновления, чтобы найти определенные зависимости. Можно ли автоматически добавить такой URL-адрес, чтобы пользователю не приходилось делать это вручную? Или это считается плохой практикой?

Я попытался добавить действие addRepository в файл функции p2.inf, но оно не выполняется.


person JesperE    schedule 24.11.2011    source источник
comment
Не могли бы вы добавить более подробную информацию о том, почему ответ ниже не работает?   -  person Kane    schedule 17.04.2013


Ответы (2)


Единственный способ, который я нашел, — добавить ссылки на репозиторий в content.jar/content.xml вручную. Например, чтобы добавить сайт обновления EMF в список доступных сайтов обновлений, можно добавить следующий код в узел <repository>:

<references size="2">
    <repository uri="http://download.eclipse.org/modeling/emf/updates/" url="http://download.eclipse.org/modeling/emf/updates/" type="0" options="0"/>
    <repository uri="http://download.eclipse.org/modeling/emf/updates/" url="http://download.eclipse.org/modeling/emf/updates/" type="1" options="0"/>
</references>

Я не нашел никакой документации, описывающей, что означают атрибуты type и options. Также это решение не будет работать, если указанный сайт обновлений уже был добавлен к доступным сайтам как отключенный сайт (проверьте Окно -> Настройки -> Установить/обновить -> Доступное программное обеспечение). В таком случае он не включен, на самом деле я искал, как включить его безоговорочно, и нашел ваш вопрос.

Существует также скрипт Ant, который упрощает добавление связанных сайтов в content.jar/content.xml.

Пожалуйста, дайте мне знать, если вы найдете лучший способ.

УПД.

Можно связать новый сайт обновлений с немного другим URL-адресом, например

http://download.eclipse.org/modeling/emf/updates/

->

http://download.eclipse.org/modeling/emf/updates/#contributed-by-my-update-site

Но я все же надеюсь, что есть лучшее решение.

person Eldar Abusalimov    schedule 26.11.2011
comment
Я подозреваю, что атрибут type указывает, является ли репозиторий артефактом или репозиторием метаданных. Это один из параметров действия p2 addRepository(). - person JesperE; 26.11.2011
comment
А как насчет тега <url/> в feature.xml? Однако, похоже, это не работает для меня. - person Raffi Khatchadourian; 15.03.2016

Поскольку Раффи комментирует ответ Эльдара, внешний сайт обновлений для зависимостей можно добавить, поместив следующую запись в файл feature.xml.

<url>
  <discovery label="Example Update Site" url="http://example.se/update_site/"/>
</url>

Это также можно сделать с помощью графического интерфейса редактора feature.xml на вкладке Информация Сайты для посещения.

В графическом интерфейсе это описывается как «обновление сайтов для посещения при поиске новых функций».

Кажется, это создает записи в content.jar/content.xml, которые Эльдар описывает в своем ответе.

person Lii    schedule 15.06.2016
comment
к сожалению, это не работает. Сайт добавляется в файл feature.xml, но Eclipse не загружает никаких зависимостей. - person Ahmed Laatabi; 15.11.2016