我正在尝试从头开始将RCP应用程序实现到工作空间中,我遇到一个单独组件的问题,其中SVN中的项目名称与其插件ID不同(例如,它是Bundle-SymbolicName)。
此时我真的无法通过重命名项目或bundle id来解决这个问题,所以我正在寻找一种方法,只需在提供者uri声明中用它的svn项目名称替换组件名称。
我尝试使用替换标记,但似乎没有帮助:
<provider readerType="svn" componentTypes="eclipse.feature,osgi.bundle" source="true">
<uri format="https://svnserver/svn/trunk/project/{0}?moduleAfterTag&moduleAfterBranch">
<bc:replace>
<bc:propertyRef key="buckminster.component" />
<bc:match pattern="^com\.initec\.richedit(?:\.\w+)*$"
replacement="com.initec.richtext$1" />
</bc:replace>
</uri>
</provider>
BTW - 我在Eclipse 3.5中使用Buckminster 1.1.350.r10382
答案 0 :(得分:1)
您的正则表达式似乎是个问题。
(?:X)
是非捕获组,因此不会定义$1
。
我建议:
<bc:match pattern="^com\.initec\.richedit((?:.\w+)*)$"
replacement="com.initec.richtext$1" />
答案 1 :(得分:0)
pattern="^com\.initec\.richedit(\.\w+)*$"