Re: Project options and other format enhancements (and dropping "variants")
- From: Tristan Van Berkom <tristan vanberkom codethink co uk>
- To: BuildStream <buildstream-list gnome org>
- Subject: Re: Project options and other format enhancements (and dropping "variants")
- Date: Wed, 11 Oct 2017 16:03:37 +0900
On Thu, 2017-09-07 at 17:53 -0400, Tristan Van Berkom wrote:
Hi all,
So it's pretty clear by now that we're going to need a solution for
parallel orthogonal project options and that variants by itself is not
a solution for this, or, that other variant-like constraint based
solutions which cater to parallel configurations are just overly
complex (both to implement and probably also to understand as a
format).
[...]
Just stopping off here for a little progress report.
The major related changes which have landed this week include:
o Removal of variants
o Support for declaring project options, with 5 option types
o Boolean
o Enumeration
o Flags
o Arch (convenience, derived from Enumeration)
o Element Mask (convenience, derived from Flags)
o Support for conditional expressions using the (?) directive
o Support for assertions using the (!) directive
o Documentation overhaul
Note that 'arches' conditionals have not been removed yet, I have a
branch which removes them and we're just migrating some projects to use
the new conditionals before removing 'arches' completely.
For a taste of what this looks like, see the documentation which
includes some snippets, at http://buildstream.gitlab.io/buildstream/
Option declarations (and examples of expressions using the various
option types) are documented here:
http://buildstream.gitlab.io/buildstream/projectconf.html#project-options
Conditional (?) and assertion (!) directives are documented here:
http://buildstream.gitlab.io/buildstream/formatintro.html#format-directives
The remaining bits which need to be implemented in the context of this
proposal are the declarative array composition directives (<) (>) and
(=).
Cheers,
-Tristan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]