| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Reflects the selected variant at load time, otherwise None for
elements which do not declare any variants.
|
| |
|
|
|
|
|
| |
Use _cached(recalculate=True) instead to reduce the number of code paths
touching __cached.
|
| |
|
|
|
|
| |
This will only make a difference when building with weak cache keys.
|
| |
|
| |
|
|
|
|
|
| |
Weak cache keys include names of direct build dependencies but do not
include cache keys of dependencies.
|
| |
|
|
|
|
| |
This avoids cyclic imports between element.py and artifactcache.py.
|
| |
|
|
|
|
| |
was needed
|
|
|
|
|
|
| |
For better readability; also now avoid the FAILURE messages when
an artifact fails to be pulled, replaced with self.info() message
only if the artifact was downloaded.
|
|
|
|
|
|
|
| |
One day BuildStream will be able to run host-incompatible integration
commands using a QEMU cross-sandbox, but for now we have to disable
integration commands for cross-builds to avoid errors when checking them
out.
|
|
|
|
|
| |
This avoids potentially infinate loops caused by peeking into
the the Provenance nodes and attempting to copy those references.
|
| |
|
|
|
|
|
|
| |
And use deep copies with both Element.set_public_data() and
Element.get_public_data(), avoiding unintentional mutations of
the underlying data model.
|
|
|
|
|
|
|
|
|
|
|
|
| |
o None: Calculate cache state if not previously calculated
o True: Force recalculate cached state, even if already checked
o False: Only return cached state, never recalculate automatically
And _load_public_data() passes and explicit False value for 'recalculate',
this ensures we never accidentally resolve cached state prematurely if
trying to load the public data as a side effect of calling Element.get_public_data()
outside of the build phase, when all elements in scope should have cached
state resolved and correct anyway.
|
|
|
|
|
|
| |
Plugin assemble() methods may supplement public data returned by
Element.get_public_data() with generated data. Public data is stored in
the artifact cache and automatically loaded as appropriate.
|
|
|
|
| |
This is too early for dynamic split rules.
|
| |
|
|
|
|
|
| |
This will be required when public data will be stored in the artifact
cache in preparation for dynamic public data support.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Runtime dependencies of build dependencies can affect the build process.
This reverts commit b0a196a8cb34964e7c0af2fa74c8ada8bc0408c8.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This API comes from a time when Element.dependencies() did not
have a `recurse` keyword argument (as we did not expect to require
that functionality to be public).
Since the same can be accomplished with Element.dependencies(... recurse=False),
it's better to just remove this old private API (which was actually broken and
recently fixed with commit b194179d422b65ce8eaa599901b0362840584adb).
NOTE: Tried this change on a pipeline with > 500 elements, and the
reported cache keys are the same using Element.dependencies() as they
were with the older Element._direct_deps() API.
|
|
|
|
|
|
|
| |
This function was swapping the behaviour of Scope.BUILD with Scope.ALL.
This caused an issue where runtime dependencies of a component were
being included in its cache key, causing unnecessary rebuilds.
|
|
|
|
| |
Use proper note.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Just a way we can share some code between `bst shell` and
the `bst checkout` codepath.
|
|
|
|
|
| |
This was causing the tarball builds, like stage2-make from baserock,
to break as it wanted to regenerate some files it could not.
|
|
|
|
|
|
|
|
|
|
| |
Some elements may continue to do everything inside assemble(),
however they will not support shelling in properly, this is sometimes
normal, as with import elements.
The shell implementation has been enhanced with this, as it will
now setup the shell in Scope.BUILD scope the same way the element
would when it's about to assemble.
|
| |
|
|
|
|
|
| |
If env vars propagated to a shell happen to be unset (None), then
running the sandbox will cause a stack trace from subprocess.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Element.configure()"
This reverts commit ad48cee1171c465bad966d2cb1c8f120fca67176.
This was too hasty, we need to consider integration commands which currently
substitute variables in the integration stages, and soon integration commands
might be set dynamically after an assemble stage, so variable substitutions
on integration commands can be allowed at this point, especially considering
how integration commands are considered in cache key calculations.
This will require more thought.
|