Как переопределить имя компонента для SVN URI в файле RMAP Бакминстера

Я пытаюсь материализовать приложение RCP в рабочее пространство с нуля, и у меня возникают проблемы с одним единственным компонентом, чье имя проекта в SVN не совпадает с идентификатором плагина (например, это Bundle-SymbolicName).

На данный момент я действительно не могу решить эту проблему, переименовывая проект или идентификатор пакета, поэтому я ищу способ просто заменить имя компонента на его имя проекта svn прямо в объявлении uri провайдера.

Я пытался использовать тэг замены, но это не помогает:

<provider readerType="svn" componentTypes="eclipse.feature,osgi.bundle" source="true">
  <uri format="https://svnserver/svn/trunk/project/{0}?moduleAfterTag&amp;moduleAfterBranch">
    <bc:replace>
      <bc:propertyRef key="buckminster.component" />
      <bc:match pattern="^com\.initec\.richedit(?:\.\w+)*$"
                replacement="com.initec.richtext$1" />
    </bc:replace>
  </uri>
</provider>

Кстати - я использую Buckminster 1.1.350.r10382 в Eclipse 3.5

2 ответа

Решение

Ваше регулярное выражение выглядит проблемой.

(?:X) является не захватывающей группой, поэтому $1 не будет определен

Я бы предложил:

<bc:match pattern="^com\.initec\.richedit((?:.\w+)*)$"
          replacement="com.initec.richtext$1" />
pattern="^com\.initec\.richedit(\.\w+)*$"
Другие вопросы по тегам