Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[buckminster-dev] A different case of componentes that come into existence during a build

Some components may, in their initial state, be improper to bind as an artifact in a workspace. They may however contain meta-data with actions that creates such artifacts (a good example of this is the org.eclipse.swt). The question is, how do we trigger such an action?

Let's look at the mechanisms that we already have:

* The dependency 'obtainedFrom'
This takes care of the case when components are created by actions of other components. I think that what I'm after is different. Here we have a component that actually do exist but that, in its current from, is unsuitable for a workspace bind. It can be solved using 'obtainedFrom' but then all referring components must know that the original component is insufficient. Either that, or an intermediate component must be created (and stored in order to be found).

* The predefined 'prebind' action
A prebind action is suitable for a component that is incomplete, i.e. some assembly needs to be performed that modifies or adds to the existing component. At present, the actual product of such an action has not been of interest. The thing to bind has still been the component itself. What I'm after here is the ability to redefine what it is that is bound.

I think the best solution to this is to add to the 'prebind' semantics and say that if the prebind action produces a artifact that is named 'bind.entrypoint', then that artifact will be bound instead of the component itself.

Alternatively, we say that any action can produce the 'bind.entrypoint' and that the binder simply requests that artifact. If it is found, the prebind step is skipped since it's assumed that the 'bind.entrypoint' takes care of whatever needs to be done.

Thoughts?

Regards,
Thomas Hallgren


Back to the top