Re: Project options and other format enhancements (and dropping "variants")
- From: Tristan Van Berkom <tristan vanberkom codethink co uk>
- To: Sander Striker <s striker striker nl>, buildstream-list gnome org
- Subject: Re: Project options and other format enhancements (and dropping "variants")
- Date: Fri, 15 Sep 2017 17:10:15 -0400
On Fri, 2017-09-15 at 20:05 +0000, Sander Striker wrote:
On Fri, Sep 15, 2017 at 6:43 PM Tristan Van Berkom <tristan.vanberkom
@codethink.co.uk> wrote:
...
Asides from the gritty details of the conditional expressions and
formats, would you agree that implementing project wide options and
conditionals on project wide variables only for now, will give us
something that:
Ok, let me try and restate that into what this means in practice. We
would be able to implement "platforms"; e.g. some combination of
architecture, os version, compiler toolchain. This would only be at
a project level, and elements can be either agnostic or have
conditional sections based on those options.
We are explicitly not addressing element variants, and leave this to
a future release.
Precisely.
If I understood correctly, then I concur this is a path forward.
A.) Will solve our problems today, cause we need conditionals
to build GNOME and we need a stable 1.0 pronto
What is the minimum we need to build GNOME?
We need to declare builds for flatpak runtimes and builds for an image
that boots, using the same project.
This is easily done with project level options I think.
Beyond the minimum, the jhbuild modulesets do include some conditions,
things like "if we're building on bsd", which I expect are long
unmaintained cruft; some of these conditionals would be interesting to
eventually revive, and also fit well into a model with only project
level options.
B.) Does not close the door on constraint resolution approaches
Agreed.
C.) Does not really become an undesirable "wart" if ever
constraint
resolution and element specific options exist one day, but
rather compliments it well
This we can probably only answer in hindsight. Right now I don't
think it will.
Yeah agreed, we can't really know.
I should note that recursive pipelines will open up another dimension
of configuration options, and we should take another look at what we
really need once we land that bit.
When a pipeline is split into multiple interdependent projects; you
automatically get to decide the options with which to build the project
you depend on - this is somewhat similar to how variants configure
dependencies, but at a project level, and without any auto constraint
resolution problems.
Cheers,
-Tristan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]