| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This cannot happen in practice as we make sure that every symlink inside
an artifact is relative when we create the artifact.
The new integration-tests/symlink-test should ensure we don't regress there.
This saves one call to os.path.realpath() for every file we stage, which
makes a large performance difference.
|
|
|
|
|
| |
We should really be exercising the symlink handling code paths
explicitly, they definitely have some complex edge cases.
|
|
|
|
|
| |
Integration tests were failing as the installed version of BuildStream
didn't support the new --hardlinks option.
|
|
|
|
|
| |
It's not required to raise SourceError() manually when calling
utils.get_host_tool().
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Report UtilError instead of OSError and similar python errors.
Also ensure we catch system errors and raise UtilError with
descriptive text instead; for the user experience; this is the
difference between:
o A FAILURE message with a description as to
what went wrong (exception handled with UtilError)
o A BUG message with the unhandled system error printed
with a stack trace (exception left unhandled)
Also, UtilsError and ProgramNotFoundError are now public exceptions
declared in utils.py, where they will appear in the documentation.
|
|
|
|
|
| |
This is often useful, for example when the main element needs to do
something with a path like /etc/%{project-name}/ .
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Source plugins typically do not have an accompanying YAML file with
their default settings.
|
| |
|
| |
|
|
|
|
|
|
| |
This calls bst_with_flags checkout in a uniform way, we
use it for now to pass `--hardlinks` to all checkouts potentially
speeding up the test runs.
|
| |
|
|
|
|
|
|
| |
Checking for plugins with the same name no longer happens in the
plugincontext, it happens in project, so the old test was removed and a
new one added.
|
|
|
|
|
|
| |
In addition, it changes the "plugins" and "required-versions" fields,
combining them for plugins and adding a new "required-project-version"
field.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Make it explicit that we should not rely on 'finally' clauses to clean
up for us in the event of termination.
|
|
|
|
| |
And also adapted them to remove any occurrences of HAVE_ROOT.
|
|
|
|
|
| |
There is no scenario worth testing where this condition is
not true, removing this.
|
|
|
|
|
| |
We need this now in order to properly test the frontend and
parse logs from stderr or output from stdout.
|
|
|
|
|
|
|
|
|
|
|
| |
Now we just assume that logging is turned on all the time, any
messages must now always go through the central context messaging
APIs.
As a side effect, we now send all output messages that
buildstream generates to stderr, leaving stdout only to
payload types of output, such as parsible `bst show` output,
the output of `bst workspace list` or `bst shell`.
|
|
|
|
|
|
|
|
| |
Currently this does not update the task list, and is for timing
groups of activities from the frontend, or for timing long standing
tasks which run directly in the frontend and not in a child task
(like downloading the refs from a remote at load time before a build
commences).
|
| |
|
|
|
|
| |
A version of the function which can be shared with the frontend too.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This avoid multiple file system traversal when the key is requested multiple
times.
|
|
|
|
|
|
| |
In order to avoid multiple traversals of the file system when the workspace key
is requested multiple times, it is now cached in the source element. The cache
is invalidated if the workspace is deleted or moved.
|
|
|
|
|
| |
This isn't reachable as there's a default value in script.yaml, also it
has an error in it - ElementError hasn't been declared in this scope.
|
|
|
|
|
| |
Source plugins typically do not have an accompanying YAML file with
their default settings.
|
| |
|
|
|
|
|
|
|
| |
The residual `from e` was probably left there after a refactoring from
try-catch to exit-code-checking. While this could prevent the expected
`SourceError` being thrown, I couldn't find a proper way to trigger it since
`git show` has no documented return codes other than `0` and `128`.
|
| |
|
|
|
|
|
|
|
|
| |
Pulls will fail from the cache if there's no summary file, so we should
always create one.
If you need a cache that breaks when pulled from, pass an empty
directory that hasn't been initialized as a repo at all.
|
|
|
|
|
|
|
|
|
|
|
| |
The cache parameters are now in highest-to-lowest precidence
order corresponding to left-to-right along the line where they are
specified.
Once we make it possible to specify a list of URLs for each of these
parameters, the precidence will continue to always read from highest
to lowest corresponding to left-to-right since each list of URLs
will also read left-to-right.
|
|
|
|
|
|
|
|
|
|
| |
This call can fail (if we pass an invalid remote name, for example) so
we should wrap the GLib.Error with OSTreeException.
In the case of GLib.Error this is especially important as GLib.Error
can't be pickled and so such exceptions disappear completely when we try
to propagate them back from multiprocessing subprocesses. See
<https://bugzilla.gnome.org/show_bug.cgi?id=791265>.
|
| |
|
| |
|
| |
|