| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Constructor now expects cli_options to be specified, and
now loading the project overrides supports the 'options'
for a given project.
|
| |
|
|
|
|
|
| |
This is merely a protection against crossing the project/context
wires together. The Project will gain knowledge of the context soon,
so it's better that the context itself remain without any knowledge
of the context.
|
| |
|
|
|
|
|
|
|
|
| |
All of the _yaml APIs which deal with a node (dictionary loaded
from YAML) are named _yaml.node_foo(), _yaml.node_bar(), _yaml.node_baz()
etc, except for this one glaring exception.
Also added a missing internal API documenting comment for _yaml.node_validate()
Also updated all callers to _yaml.validate_node() to now call _yaml.node_validate().
|
| |
|
|
|
|
|
| |
This is just a step towards making the per-project overrides a little
bit more comprehensive in the code base.
Also, validation was missing on the overrides entirely.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A project can specify its artifacts cache sharing settings, and users can
define a default artifacts cache to use as a fallback.
With this change, users can also override the project configuration with
their own.
That means for a project named "libfoo", BuildStream will resolve the
artifacts-related options in the following order:
1. the projects.libfoo.artifacts options from the user configuration;
2. if the above was not defined, then the artifacts options from the
project configuration;
3. if the above was not defined, then the artifacts options from the
user configuration;
Fixes #87
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Retry network tasks up to two times by default.
Fixes #30
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This command adds initial cross-compilation support to BuildStream.
It has been tested against a converted version of the Baserock
compiler bootstrap and used to cross build sysroots for armv8l64 and ppc64l
from an x86_64 host.
For example, to build a sysroot for ARM v8 64-bit you can do this:
bst build --target-arch=armv8b64 gnu-toolchain/stage2.bst
This would cause the adapted Baserock definitions to produce a stage1 simple
cross compiler that runs on the native architecture and produces armv8b64
binaries, and then cross build a stage2 sysroot that executes on armv8b64.
Currently the --host-arch option does nothing of use. It will one day
enable host-incompatible builds using a QEMU-powered cross sandbox.
The `--arch=` option is now shorthand for `--host-arch= --target-arch=`.
Elements have 2 new variables available, %{bst-host-arch} and
%{bst-target-arch}. The 'arches' conditional now follows %{bst-target-arch},
while the new 'host-arches' conditional follows %{bst-host-arch}. All
of --arch, --host-arch and --target-arch default to the output of `uname -a`.
There's no magic here that would make all BuildStream elements suddenly
able to cross compile. It is up to an individual element to support this by
honouring %{bst-target-arch} in whatever way makes sense.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Allows one to configure the maximum amount of lines to print
of a message detail into the master log and console (the entirety
of lengthy lines are always printed in the individual build logs
anyway, this just makes the frontend a bit more bearable)
|
| |
|
|
|
| |
Allow some control on how the pipeline elements are formatted and
displayed in the heading at startup time.
|
| |
|
|
|
|
|
| |
Instead of documenting this in the Context object, provide a section
more targetted at users. The default configuration is shown in the
user facing documentation and removed from the Context object documentation
which is more targetted at API references for plugin authors.
|
| |
|
|
|
|
| |
Was using double underscore instead of underscore, mixing
up variables (result, cache key never locally cached, always
recalculated on demand).
|
| |
|
|
|
|
| |
The python xdg package is a couple of lines of python which
are not purely python3, this seems to cause problems on the
gitlab runners and not worth the dependency, dropping it.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Attempt to load user configuration from ${XDG_CONFIG_HOME}/buildstream.conf
if one exists, only if not overridden on the command line
o Set the XDG Base Directory values at initialization time
o Allow environment vars to be specified in paths
o userconfig.yaml: Default paths now use XDG_CACHE_HOME instead of ~/buildstream
o Removed the deploydir and ccache dir as we're not using those, we'll re-add those
configs if they become relevant.
|
| | |
|
| |
|
|
|
| |
Not for the underlying keys, only for abbreviated keys to display
in the UI which should be more than strong enough.
|
| |
|
|
|
| |
This is more accurate than 'dict', it can be a ChainMap sometimes
which will not be a 'dict'
|
| | |
|
| |
|
|
| |
This is dead code, and is better served with an assert().
|
| |
|
|
|
|
|
|
|
|
|
| |
When pushing & popping message depth, now record whether the
new silent_nested parameter was set.
In the default handler, whenever publishing a message, silence
the message if we're in a depth with silent messages.
Also export _silent_messages() for implementors of the message
handler (scheduler)
|
| |
|
|
|
|
|
| |
Configure how many parallel fetchers or builders you want.
Message depth tracks possibly recursive timed activity depth
within tasks so that depth can be reported in the message.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
All messages are proxied through the context which is shared
across pipelines and created by the frontent. The frontend
can override how logging is done.
In sub processes, the frontend of the element is the scheduler
job itself, which then proxies messages through a Queue object
(implented with a pipe).
|
| | |
|
| |
|
|
| |
Mostly code from Jürg Billeter's branch.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
An internal file, but better named since we'll be adding
projectconfig.yaml beside it.
|
| |
|
|
|
| |
This way we get useful loaderrors if expected configuration values
are missing or declared with incorrect types.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Now modules import as:
from . import _site
And refer to things as _site.root, _site.default_config etc.
Also now follow principal of least underscores
|
| |
|
|
|
| |
This is a more descriptive name, it's the defaults for
user configurations.
|
| |
|
|
|
|
| |
This allows us to document the default configuration by simply including
the yaml file directly in the docs. This way whenever the default configuration
changes these changes will be reflected in the docs automatically.
|
| |
|
|
| |
And renamed ContextError exception to a more general LoadError.
|
| | |
|
|
|
It's a bit big and wordy, looks like it makes sense to
just call it "Context".
|