| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we are not recursing, `Element.dependencies()` uses a much more
light weight codepath since it just needs to print the direct
dependencies. However, this simple codepath was not accounting for
duplicates, in case something is both a build time and run time
dependency.
One way this manifested itself was in `bst show --format %{deps}`, but
it would also affect anything that was using this method to iterate on
the dependencies.
Fixes #1308.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This can be quite handy when one is preparing to open a build shell.
This originally came up in
https://gitlab.com/BuildStream/buildstream/-/issues/685#note_105460896.
|
|
|
|
|
|
|
| |
This was not reporting errors if not given a string, since we
don't only pass strings parsed from project.conf but also pass
plugin defined Plugin.BST_MIN_VERSION definitions, we should
be more fault tolerant here.
|
|
|
|
|
|
| |
buildbox-common master no longer forwards stdout/stderr of the action
command by default. The buildbox-run capabilities mechanism is used to
support old and new versions.
|
|
|
|
|
| |
This automatically expands the variables from the element into
the sources config
|
|
|
|
|
|
|
| |
We explicitely ask plugin authors not to do this in our documentation,
we should therefore also not do it unless there is a real need.
For this cases, just pass the default values as class variables.
|
|
|
|
|
|
|
|
|
|
| |
`command-subdir` was previously missing from the cache key. This patch
makes it a part of the cache key _if_ it was specified. It means that
the cache key will not change for elements that had not defined a
`command-subdir`. However, it will change for every element that did
define it.
Fixes #1295.
|
|
|
|
|
| |
Now that we handle variable transformation more globally, we don't
need the transform value anymore
|
|
|
|
|
| |
This will allow all users to not have to care about whether the option
is expanded or not, making it easier to use variables everywhere
|
|
|
|
|
| |
This allows plugin authors to implement cache keys tests
more easily
|
|
|
|
| |
Also fix linting errors coming with new version of pylint
|
| |
|
|
|
|
|
| |
The pip element was copied already to bst-plugins-experimental.
We don't need to have two copies of it.
|
| |
|
| |
|
|
|
|
|
| |
This is now part of the BuildStream public API and can be used to
implement new plugins
|
| |
|
|
|
|
|
|
|
| |
The default user-agnet for urllib is widely used for many bots and so is
blocked by many servers. Buy using our own then we we are not blocked by
gitlab.com etc and are also able to identify buildstream request to
servers.
|
|
|
|
| |
for connection
|
| |
|
|
|
|
|
|
|
|
|
| |
For plugins loaded from the pip origin, we now support specifying constraints.
This is a non-breaking change and only involves specifying a package
with constraints when specifying the 'package-name', however there are
a few errors errors which can occur as a result, this patch tries to
handle them all cleanly and provide the user with useful error messages.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is mostly a semantic change which defines how deprecation warnings
are suppressed in a more consistent fashion, by declaring such suppressions
in the plugin origin declarations rather than on the generic element/source
configuration overrides section.
Other side effects of this commit are that the warnings have been enhanced
to include the provenance of whence the deprecated plugins have been used in
the project, and that the custom deprecation message is optional and will
appear in the message detail string rather than in the primary warning text,
which now simply indicates that the plugin being used is deprecated.
Documentation and test cases are updated.
This fixes #1291
|
|
|
|
|
|
|
|
|
| |
So far we were only reporting "No Source plugin registered for kind 'foo'",
without specifying what bst file with line and column information, this
commit fixes it.
Additionally, this patch stores the provenance on the MetaSource to
allow this to happen for sources.
|
|
|
|
|
|
|
| |
Part of https://gitlab.com/BuildStream/buildstream/-/issues/1068.
Make behavior of `shell` command similar to other commands that need
sources like `build`, `workspace open`, `source checkout` etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The BST_MIN_VERSION guards assert that the BuildStream core which
loaded the plugin is compatible with the plugin itself.
This commit adds BST_MIN_VERSION to the base plugin.py with documentation
informing Plugin authors how to set the minimum version, and also adds
the assertions at plugin loading time in pluginfactory.py.
This commit also:
* Adds the BST_MIN_VERSION specification to all current core plugins
* Adds the BST_MIN_VERSION specification to plugins used in test cases
|
|
|
|
|
|
|
|
|
| |
This test tests some of the basic failure modes of plugin loading,
which used to be written as internal tests but is not implemented
as a proper end-to-end test.
This commit also adds some machine readable reason codes to
pluginfactory.py so that we can assert the errors more specifically.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Plugin format versioning was decided to be removed for local
plugins and any plugins for which we do not load an explicitly
provided plugin. For pip, this will be handled with a standard
distutils/setuptools approach, allowing users to specify pip
style version boundaries in the plugin origins.
This patch refactors plugin loading so that all related code
goes into the private _pluginfactory module, a new small
PluginOrigin type was added to better manipulate loaded
origins.
Test cases have been removed and will be readded in a following
commit, adjusted to new expectations.
|
|
|
|
|
| |
This also enables local builds on non-Linux platforms, if a buildbox-run
implementation is available.
|
| |
|
|
|
|
| |
This fixes an isolation issue in the test suite.
|
|
|
|
| |
`Sandbox.get_directory()` no longer exists.
|
|
|
|
| |
Require element plugins to use `Sandbox.get_virtual_directory()`.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This catches incorrect use of the `Directory` API.
|
| |
|
| |
|
| |
|