| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Opens the door to platform specific frontend features,
and implements a platform specific "notify" method.
This is based on Valentin David's patch on merge request 447,
and this fixes issue #385.
|
|
|
|
|
|
|
|
|
|
|
| |
This has now changed to:
* Have explanations of the project.conf and each element
in the example, explaining what they are for
* Have links into the reference for the specific features
this example uses, such that the reader can get familiar
with the reference manual from example windows
|
|
|
|
|
| |
This is redundant with doc/source/examples_flatpak_base.rst, lets
please only document things once.
|
|
|
|
| |
We want one example per file, not a huge file full of different examples.
|
|
|
|
|
|
| |
Until the setuptools bug is fixed, symlinks are not included
in source distributions - this works around the problem until which
point we can use a setuptools version without the bug.
|
|
|
|
|
|
|
|
| |
This adds:
o A ToC area for adding examples
o The instructive example page for the first example
o The example project under doc/examples
o The corresponding integration test in tests/examples
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Previously "elements" was hard-coded as the path for the elements
directory whereas it was supposed to be configurable via the
`element_path` option to `init_project()`. This led to incorrect
behavior when `bst init` was run `--element-path` option.
Also, extend tests to test the creation of elements directory.
Fixes #398.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rationale for this is basically:
o A workspace is completely local
o A cache key for a workspace is used to determine if the
workspace has changed or not
o Within reason, one should not expect buildstream to detect
a change without a file's mtime having been modified
On my machine, it takes about 1 minute to checksum 11GB of WebKit checkout,
that is annoyingly a long time. With this change, it takes only 5 seconds.
Not perfect, but it's a start.
This is related to issues #294, #295 and #392
|
|
|
|
|
|
| |
With the dynamic plan using `_set_required()` we can avoid
pulling/fetching/building unneeded elements even if elements are being
tracked.
|
|
|
|
|
| |
For `bst build --deps plan`, do not process elements in pull/fetch/build
queues until they are requested by a reverse dependency.
|
| |
|
|
|
|
| |
Summary files are no longer used.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Calling pull() for a potentially unavailable artifact is no longer
considered an error.
|
| |
|
|
|
|
| |
This is in preparation for moving away from summary files.
|
|
|
|
| |
This is in preparation for moving away from summary files.
|
|
|
|
|
|
|
|
|
|
|
| |
Remotely cached artifacts matching the strict cache key take precedence
over locally cached artifacts matching only the weak cache key. However,
locally cached artifacts were excluded from the build plan, which means
that BuildStream never even checked whether the strict artifact is
available in the remote artifact cache.
This changes planning to keep cached elements in the build plan in
non-strict mode if a remote artifact cache is used.
|
| |
|
|
|
|
|
|
| |
Counter-intuitively, Python list += mutates the list. Use explicit
copy() and extend() instead of += to avoid adding project-specific
remotes to the global remote list.
|
|
|
|
|
|
| |
For reference, this method was added in
commit c41f1093d83eb32606f81005227542699f756b0a, but since
commit 4912ed5f8922b47c1a16c3752eb92a3f1dea76b2 it has been unused.
|
|
|
|
|
|
|
|
|
|
|
| |
Add `--soft` option to `bst workspace reset` which would allow uses to
reset workspace-related state without affecting its contents. This will
be useful in case when an user wants to re-run configure-commands for a
workspaced element.
Patch originally by Chandan Singh, rebased against recent refactor.
Fixes #375.
|
|
|
|
|
|
| |
with cache.
Fixes #377.
|
|
|
|
|
| |
We need the logging handler setup before creating the Stream(),
as the Stream() will expect logging to be already functional.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It makes not sense to type `bst fetch --track --deps all <targets>`,
because tracking will inevitably modify the build plan.
Stream initialization will not cope with this either, instead of
silently doing something which does not make any sense, we add an
assertion that this should not happen.
Unfortunately since `plan` is the default deps type for `bst fetch`,
this is likely to happen so it's important to correct.
This patch adds a warning in the case tracking of the build plan
elements is requested, and converts the request to track all elements
instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here the pipeline becomes essentially stateless, some dangling
state remains to be factored out because of frontend accesses
which will be changed in a later commit.
Essentially, the Pipeline.load() method no longer has any knowledge
of the specific purposes of the loaded targets, and now takes
a list of target groups and returns a corresponding list of element
groups.
The Stream() business logic methods now use other pipeline helper
methods to create and filter lists from the loaded target elements.
The Stream() also finally absorbs the Scheduler frontend facing
APIs. However Queues are still exposed on the Stream object for
logging purposes and through callbacks such that the frontend can
retry elements.
|
|
|
|
|
|
|
| |
This removes some additional initialization code from Pipeline().
Some symbols have changed here, the initialization is now called
from Stream(), and a test case was also adjusted for this.
|
|
|
|
| |
There is no more need for this distinction.
|
|
|
|
|
|
|
|
|
| |
This was previously decided in CLI, but knowledge of what to initialize
has been moved to Stream().
Now there is no more point to store this configuration in the Context,
we just have the Stream() decide it when asking the Pipeline() to
invoke the Loader().
|
|
|
|
|
|
| |
This shifts the whole responsibility of interpreting command line
targets etc to the Stream() object itself. With this commit, the
Pipeline() truly becomes slaved to the Stream().
|
|
|
|
|
|
|
|
| |
o This makes logging independent from the Pipeline()
o Removed size_request Widget() method, add context to Widget() initializer
o Make the Status() widget derive anything it needs through the Context()
|
| |
|
|
|
|
| |
Use Stream error for Stream errors.
|
|
|
|
|
|
| |
This is the first part of the pipeline refactor, at this stage
all calling interfaces remain the same, except that invocation
of the scheduler has been moved from Pipline to Stream.
|
|
|
|
|
|
| |
We have machine readable errors for this purpose, and the
strings happen to change causing tests to break if we test the specific
UI (reported error strings are UI).
|
|
|
|
| |
See: #373
|
|
|
|
|
|
|
| |
Lazily parse the version of bwrap the first time the function is called.
On subsequent calls, used cached version info.
See: #373
|
|
|
|
|
| |
"artifacts from all previous stages are passed by default."
https://docs.gitlab.com/ee/ci/yaml/#dependencies
|
|
|
|
|
|
|
|
|
| |
One may want to mount additional volumes to preserve certain directories
or to share some data between the host and the container. Allow users to
do so by providing a `-v` option that passes its arguments to
corresponding `-v`/`--volume` option for `docker run` command.
Part of #378.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the name of the Docker image is hardcoded in bst-here script.
This makes it harder for users to override it, which may be needed for
various reasons (custom plugins, private Docker registries etc.)
Add `-i` option to allow users to specify the base image. When `-i` is
not provided, default to `BST_HERE_IMAGE` environment variable if it's
set and otherwise to the current image -
`buildstream/buildstream-fedora`.
Also, re-order the command-line options in help text and source code in
alphabetical order to maintain sanity as the number of options is slowly
growing.
Part of #378.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
An introduction for this section was also added
|