В Равноденствие возможно ли для одной функции / пакета устареть другой? - PullRequest
2 голосов
/ 21 июня 2010

У меня есть проект на основе Eclipse (Scala IDE для Eclipse), который недавно переехал в новый дом. Я хочу изменить различные идентификаторы функций, Bundle-SymbolicNames и т. Д., Чтобы отразить движение (т. Е. Чтобы все они имели префикс org.scala-ide) и перезапустить нумерацию версий (ранее она была привязана к соответствующей версии компилятора Scala). и я хочу отделить их).

Но я хочу, чтобы p2 это признал, например. org.scala-ide.sdt.feature v. 1.0.0 является обновлением ch.epfl.lamp.sdt v. 2.7.7. С RPM можно было бы сделать это, используя директиву obsoletes ... есть ли эквивалент для p2?

1 Ответ

2 голосов
/ 21 июня 2010

Я считаю, что это возможно, но в настоящее время для него нет инструментов (или документации).

Каждый IU содержит дескриптор обновления ( javadoc ), которыйуказывает, какое IU это обновление.Существующий инструментарий всегда устанавливает это как предыдущие версии одного и того же пакета.В файле content.xml это выглядит так:

<unit id='org.eclipse.equinox.launcher' version='1.1.0.v20100507'>
   <update id='org.eclipse.equinox.launcher' range='[0.0.0,1.1.0.v20100507)' severity='0'/>
   ...

Чтобы установить это, вы можете

  1. дождаться исправления ошибки 282545 .
  2. Отредактируйте файл content.xml вручную (возможно, с помощью преобразования xslt)
  3. Расширьте издателя p2 , чтобы создать другой дескриптор.Вы хотите переопределить BundlesAction, чтобы использовать собственную версию BundlesAction # createBundleIU.
...