eclipsebuild-processbuild-automationbuckminster

How to override component name for svn uri in buckminster RMAP file


I am trying to materialize an RCP application into a workspace from scratch and I am having trouble with one single component whose project name in SVN is not same as it's plug-in id (e.g. it's Bundle-SymbolicName).

At this point in time I really can not fix this issue by either renaming the project or bundle id, so I am looking for a way to simply replace component name with it's svn project name just inside the provider uri declaration.

I've tried to use the replace tag, but it does not seem to help:

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

BTW - I am using Buckminster 1.1.350.r10382 in Eclipse 3.5


Solution

  • Your regular expression looks to be the problem.

    (?:X) is a non-capturing group, so the $1 will not be defined.

    I would suggest:

    <bc:match pattern="^com\.initec\.richedit((?:.\w+)*)$"
              replacement="com.initec.richtext$1" />