Skip to main content

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

Comments inline...

"Thomas Hallgren" <thomas@xxxxxxx> skrev i meddelandet 
news:el3scr$d4o$1@xxxxxxxxxxxxxxxxx...
> 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.
>
This second proposal looks more flexible. In the first you say that "a 
'bind.entrypoint' pre-bind would be bound instead of the component itself"
What if there are several? Does it ever make sense to bind the component as 
well?





Back to the top