Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [buckminster-dev] Non-intrusive prototyping

A resolution to the problem could be if Buckminster, during
prototyping, was able to slot in the needed artifacts (i.e. CSPEX
files) from the side. Perhaps we could have an entry in the CQUERY that
appoints a map-file that maps explicit component names to folders
containing artifacts later intended for the component?

Just to ensure correct understanding: when using a mapping of this kind for resolve/materialize, bucky would consider the 'extra' location as hm...'merged', with the 'real' location? More precise, any files in the extra location should shadow the real files (so if someone needs to make a change to an existing cspex for example, they first need to copy the original and then make changes in the copy). Ultimately, they have arrived at a working set of new/changed files and then (assuming they have the rights) they can check in the set in a 'finished' state.

I think your suggestion is generally fine as-is. As we're already using the cquery as a vehicle for overrides (advisor nodes, props etc) it makes sense to continue in this manner.

I don't see the significance of an extra map file though - the mappings could just as well be listed straight in the cquery. In fact, seems to me to make sense to put the info in question in the advisor nodes (as the mapping of a name => 'hints' is already there).

The general understanding when using overrides of all kinds is that the user him/herself are responsible for the mess they can get themselves in, and this extends to specifying map paths to local locations as well so no extra issue there.

Not strictly part of this issue, but worth mulling over perhaps: An opinion I've voiced before is that it may sometimes be desirable for paranoic release/build/qa/whatever to be able to request usage of 'pure' cqueries only, i.e. to force the system to disregard any overrides in a cquery in order to ensure that there is no dependence on forgotten/ill-advised overrides.

One possible caveat: We (I) are assuming that this is a temporary (prototyping only) measure, right? If it's supposed to be a longterm thing, then there's obviously a whole different ballgame...

ken1



Back to the top