| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
| |
This test reflects functionality that freedesktop-SDK use's but that bst
was not testing.
|
| |
|
| |
|
|
|
|
| |
add name to sources in cache key dict
|
|
|
|
|
|
| |
Ensure that any changes made by user in an open workspace are not
overridden when calling `bst workspace open` again with `--force` and
`--no-checkout` options.
|
|
|
|
| |
Return if there is no result from parsing the element
|
|
|
|
|
| |
If this is not present in the env the cli will throw an exception
closes #1074
|
|
|
|
|
| |
This allows us to remove the platform reset helpers in
tests/conftest.py.
|
|
|
|
|
|
|
| |
When the missing variable was not defined, we would get an exception
as a string doesn't contain provenance information.
- Add a test to prevent regression
|
|
|
|
|
|
| |
`mapping.get_sequence(...).as_str_list()` is a very common
pattern seen both in plugins and the core. Adding a helper to reduce
the number of operations will make usage smoother
|
|
|
|
|
|
|
| |
Changes made to cli.py and _stream.py in order to support tar
compression. Compression flag has been added, which overrides any file
extensions given. Where no compression or file extension provided,
default to uncompressed .tar.
|
|
|
|
| |
Spotted by Darius.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
When neither --tar nor --directory are provided,
bst artifact checkout will no longer error out.
Defaults to a suitable directory, consistent with bst workspace open.
Test for new feature has been added
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Once an Element's strict cache key is determined, we should
attempt to update the strict cache key of it's reverse
dependencies. The state of a reverse dependency will be
updated once all of its dependencies have strict cache keys
This patch introduces the potential for a RecursionError because
_update_state() can now trigger further _update_state calls (on
reverse dependencies). Therefore, the maximum recursion limit
for our "test_max_recursion_depth" test has been lowered.
If this becomes a problem, we can always consider setting a
larger recursion limit, for now, this change has been tested
with the Debian stack and works as expected.
|
|
|
|
|
|
|
| |
It's essential to call preflight() when loading/resolving the Elements.
This patch moves the preflight call to new_from_meta, so that it is
called as soon as the Element is created. This avoids the need for
having multiple callsites.
|
|
|
|
|
|
|
|
| |
This tests that the resolution of the `max-jobs` automatic variable
is properly controlled by the new user configuration and command
line option, including the default automatic '0' value.
Regression test for #1033
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While this is currently only relevant for `bst build`, it is
a current implementation detail that user configuration which
gets overridden by command line options must use toplevel
options.
This patch allows invocations such as the following to override
the max-jobs:
bst --max-jobs 16 build target.bst
This also updates the completions test to expect the new toplevel option.
This is a part of #1033
|
|
|
|
|
|
|
|
| |
A 'clone' operation has an implicit understanding that it is expensive,
which is not the case of a 'copy' operation, which is more usually
a shallow copy.
Therefore renaming to 'clone'
|
|
|
|
|
| |
This makes the 'Node' API public, and available for use directly for
plugins.
|
| |
|
|
|
|
|
|
|
| |
- _composite -> __composite (internal)
- composite -> _composite (BuildStream private)
- composite_under -> _composite_under (BuildStream private)
- get -> _get (internal)
|
|
|
|
|
| |
Users should not need to get access to any of those, and should only
need access to the ProvenanceInformation to print it.
|
|
|
|
|
|
|
|
| |
This replaces the helper method by adding a 'get_provenance' on the node
directly
- Adapt all call sites
- Delay getting provenance wherever possible without major refactor
|
|
|
|
|
|
|
|
|
| |
With nodes being propagated better, we now don't need to extract
provenance beforehand. Therefore removing the ability to provide
indiced when getting provenance.
- Also add 'scalar_at' on 'SequenceNode', in order to fetch a scalar
node at a specific indice
|
|
|
|
|
|
|
|
| |
This allows us to type its value more strictly, allowing for more
efficient access.
- Also implement 'node_at' on 'SequenceNode', to allow some tests to
test some internals generically.
|
|
|
|
| |
- adapt all call sites to use the new API
|
|
|
|
|
|
|
| |
Using 'Node.from_dict({})' can replace new_empty_node, and the rest
is not needed anymore.
- Adapt all call sites
|
|
|
|
|
|
|
| |
There was a single place using 'node_extend_list', which we can replace
more easily with 'SequenceNode.append'.
Also rewrite _projectrefs.py:_lookup to use the new API more effectively
|
|
|
|
|
|
|
| |
This new methods is here to replace the previous 'new_node_from_dict'
that will be moved to a private method.
Adapt all call sites to use the new 'from_dict' method.
|
|
|
|
|
| |
- Also take care of node_composite_move in the same way.
- Adapt all calling places
|
|
|
|
|
| |
'composite_dict' is a more internal method and we don't really need to
access it there
|
|
|
|
|
|
|
|
|
| |
Some call places do not need calls to 'node_sanitize' anymore, therefore
removing the call entirely.
Other still use it for convenience, but that doesn't seem the right way
to do it for consistency. Those places have been replaced by calls to
'Node.strip_node_info()'.
|
|
|
|
|
| |
Remove completely '_yaml.dump()' and replace all notions and call by
'roundtrip_dump'
|
|
|
|
|
| |
Now that both are equivalent, we can skip the sanitization part before
the yaml call.
|
|
|
|
|
|
|
|
| |
Since ujson already sorts the keys, we just need to be able to jsonify
Nodes sensibly. This is done by implementing __json__ on the 'Node' base
class.
This does not break the cache keys.
|
| |
|