Re: Proposed changes to CLI pipeline specification



Thanks for the comments!

[...]
I like the intersection option better.  I have a feeling that without
that, you either end up not doing exceptions because it is too
tedious to add everything back that you want to build, or, you end up
with a long list of elements to explicitly build.
So I dont think --except is an option for `bst build`, because well,
building requires what it requires (this might not be entirely true for
`bst --no-strict build`).

That said I also prefer the intersection option, although admittedly, I
had a hard time explaining what it meant on IRC yesterday, which is not
a great sign.

In regards to that IRC discussion, in retrospect, I think the
intersection option probably is a lot easier to understand
'intuitively' - it just becomes hard to think about when you go
into the full detail of the build pipeline, which most users
probably won't have to. In either case, it seems like the more
convenient option.

I'll go with that, unless anyone raises serious concerns.


Regarding the tracking changes:
I'm afraid that once we grow project defined tracking profiles, most of
this added stuff will become irrelevant - and we'll be left with a
bunch of annoying `bst build` options that nobody needs to use.
While going through the changes again I grew the same concern - we can
easily explode the number of options to `bst build`, but that feels
like overkill for what is essentially just a command line convenience,
and a lot of these would be made obsolete by tracking profiles
anyway. It seems like going with the most minimal API would be best.

I think I like:

  --track PATH             Track new source references before building
  --track-except PATH      Except the given element from tracking
  --track-profile PROFILE  Track a tracking profile (added post-1.0)
  --track-save             Save tracked source references

Where `--track`, `--track-except` and '--track-profile' can be
specified multiple times (whether `--track-profile` should be mutually
exclusive with the others can be discussed at a later point), and
`--track-save` toggles saving on.

`--track-save` will still be useful for a later `--track-profile
<profile_name>`, and the other two options can still be convenient to
use when the pipeline is not complex enough to warrant specifying
individual elements.

For stranger tracking pipelines, such as one excluding all descendants,
1.0 will have to rely on `bst track --deps` for now.


Regards,

Tristan


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]