Локальный сайт обновлений с удаленными функциями - PullRequest
2 голосов
/ 13 декабря 2011

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

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

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

Ответы [ 2 ]

4 голосов
/ 14 декабря 2011

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

compositeArtifacts.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>

compositeContent.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

3 голосов
/ 13 декабря 2011

Вы можете сделать это, но вы должны добавить плагины и функции через архивы к вашему 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 ... />.

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

...