[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.tools.buckminster] buckminster.prebind: no action, group, or local artifact named manifest

Hi again,

I'm trying to simplify my build setup a bit. And one thing I'd like to do is add a prebind action to one of my features that has org.eclipse.platform:osgi.bunde#manifest as a prerequisite:

<cspecExtension
	xmlns:com="http://www.eclipse.org/buckminster/Common-1.0";
	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0";>
  <actions>
    <public name="buckminster.prebind" actor="ant">
      <actorProperties>
        <property key="buildFile" value="build/patch.ant"/>
        <property key="targets" value="remove.signatures"/>
      </actorProperties>
      <prerequisites>
        <attribute component="org.eclipse.platform" componentType="osgi.bundle" name="manifest" alias="manifest"/>
      </prerequisites>
    </public>
  </actions>
</cspecExtension>

The prebind action works just fine if I call it manually after everything is materialized. It also works fine if I first materialize org.eclipse.platform and then separately materialize my feature. However, if I simply materialize my feature and let buckminster pick up org.eclipse.platform as a dependency (materializing the source bundle into my workspace), I end up with this:

org.eclipse.platform:osgi.bundle: Trying provider eclipse.import(${p2.url.platform}?importType=source)
org.eclipse.platform:osgi.bundle: Found match 3.3.200.v200906111540
org.eclipse.platform:osgi.bundle: Using provider eclipse.import(${p2.url.platform}?importType=source)
...
my.feature:eclipse.feature: Trying provider svn(${svn.url.myfeature}/{2}-feature)
my.feature:eclipse.feature: trunk/head will be searched
my.feature:eclipse.feature: Found match 0.2.0.qualifier
my.feature:eclipse.feature: Using provider svn(${svn.url.myfeature}/{2}-feature)
Reading remote file svn+ssh://path/to/svn/trunk/my.feature-feature/build.properties#HEAD
Reading remote file svn+ssh://path/to/svn/trunk/my.feature-feature/umllab.product#HEAD
Listing remote folder svn+ssh://path/to/svn/trunk/my.feature-feature#HEAD
Provider svn(svn+ssh://null:null@path/to/svn/trunk/my.feature-feature): materializing to C:/Users/creckord/bm/workspace/features/my.feature/
ERROR   [0001] : CSpec org.eclipse.platform:osgi.bundle$3.3.200.v200906111540 has no  action, group, or local artifact named manifest
INFO:  TAG-ID 0001 = Query for my.feature:eclipse.feature

Buckminster again happily obliges when I now call the prebind action manually.

Oh, and one other thing I observed: My feature used to have no direct dependency to org.eclipse.platform:osgi.bundle, but to org.eclipse.platform:eclipse.feature. With that setup, the CSpec Buckminster builds for my feature is missing the componentType="osgi.bundle" in my prerequisites and my prebind action triggered the org.eclipse.platform:eclipse.feature#manifest action instead. This was fixed by adding the org.eclipse.platform:osgi.bundle directly to my feature.


Best regards, Carsten