Локальный сайт обновлений с удаленными функциями

Я хотел бы создать облегченный сайт обновлений Eclipse, который будет ссылаться только на функции или плагины на удаленных сайтах обновлений, чтобы у моей команды была единственная точка входа для установки и обновления всех распространенных плагинов, которые мы используем для некоторых проектов.

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

Есть ли способ предотвратить это, чтобы у нас был только локальный дескриптор?

2 ответа

Решение

Вы можете сделать это, но вы должны добавить плагины и функции через архивы в ваш site.xml. Кроме того, важно не изменять имена и включать все подключаемые модули, которые необходимы для функции, в путь к архиву. Вот фрагмент реального примера:

<feature url="http://borisvl.github.com/Pdf4Eclipse/features/de.vonloesch.pdf4eclipse_1.0.1.jar" id="de.vonloesch.pdf4eclipse" version="1.0.1">
  <category name="Pdf4Eclipse"/>
</feature>

<archive path="features/de.vonloesch.pdf4eclipse_1.0.1.jar" url="http://borisvl.github.com/Pdf4Eclipse/features/de.vonloesch.pdf4eclipse_1.0.1.jar"/>
<archive path="plugins/de.vonloesch.pdf4Eclipse_1.0.1.201111161450.jar" url="http://borisvl.github.com/Pdf4Eclipse/plugins/de.vonloesch.pdf4Eclipse_1.0.1.201111161450.jar"/>
<archive path="plugins/de.vonloesch.pdf4eclipse.help_1.0.0.201111161450.jar" url="http://borisvl.github.com/Pdf4Eclipse/plugins/de.vonloesch.pdf4eclipse.help_1.0.0.201111161450.jar"/>

Как вы можете видеть, это включает в себя функцию de.vonloesch.pdf4eclipse_1.0.1.jar со страницы GitHub. Эта функция включает в себя два плагина, которые также были добавлены через <archive ... />.

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

Вы можете объединять другие удаленные сайты обновлений, если вы предоставляете составное репо p2, которое может указывать на одно или несколько удаленных репо. В каталоге обновлений создайте 2 файла:

ComsetArtifacts.xml:

<?xml version='1.0' encoding='UTF-8'?>
<?compositeArtifactRepository version='1.0.0'?>
<repository name='Local Artifact Repository Collection' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1'>
  <properties size='2'>
    <property name='p2.timestamp' value='1323486257091'/>
    <property name='p2.compressed' value='true'/>
  </properties>
  <children size='2'>
    <child location='http://download.eclipse.org/eclipse/updates/3.8-I-builds/'/>
    <child location='http://download.eclipse.org/e4/updates/0.12-I-builds'/>
  </children>
</repository>

композитный контент.xml:

<?xml version='1.0' encoding='UTF-8'?>
<?compositeMetadataRepository version='1.0.0'?>
<repository name='Local Content Repository Collection' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1'>
  <properties size='2'>
    <property name='p2.timestamp' value='1323486257489'/>
    <property name='p2.compressed' value='true'/>
  </properties>
  <children size='2'>
    <child location='http://download.eclipse.org/eclipse/updates/3.8-I-builds/'/>
    <child location='http://download.eclipse.org/e4/updates/0.12-I-builds'/>
  </children>
</repository>

Затем вы можете использовать свой каталог обновлений в качестве входных данных для Help>Install New Software

Другие вопросы по тегам