0

我正在尝试从头开始将 RCP 应用程序具体化到工作区中,但我遇到了一个组件的问题,该组件在 SVN 中的项目名称与其插件 ID 不同(例如,它是 Bundle-SymbolicName)。

目前,我真的无法通过重命名项目或捆绑 ID 来解决此问题,因此我正在寻找一种方法来简单地将组件名称替换为提供者 uri 声明中的 svn 项目名称。

我尝试使用替换标签,但似乎没有帮助:

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

顺便说一句 - 我在 Eclipse 3.5 中使用 Buckminster 1.1.350.r10382

4

2 回答 2

1

您的正则表达式似乎是问题所在。

(?:X)是一个非捕获组,所以$1不会被定义。

我会建议:

<bc:match pattern="^com\.initec\.richedit((?:.\w+)*)$"
          replacement="com.initec.richtext$1" />
于 2009-07-03T16:20:11.370 回答
0
pattern="^com\.initec\.richedit(\.\w+)*$"
于 2009-07-04T19:03:11.527 回答