summaryrefslogtreecommitdiff
path: root/buildstream
Commit message (Collapse)AuthorAgeFilesLines
* Remove shebangs from python filesGökçen Nurlu2018-06-1997-97/+0
| | | | Fixes #424
* doc: Overhaul of page names and titlesTristan Van Berkom2018-06-131-1/+1
| | | | | | | | | | | | | | | | o Giving main pages simple word titles This makes the main page: * About * Installing * Using * Reference * Contributing o Now named all rst files with their parent page name as a prefix. o Also changed some titles to make overall consistent titles.
* Handle missing tags in git repositories correctlyTristan Maat2018-06-111-0/+4
| | | | Fixes issue #380
* doc/source/core_framework.rst: Use a toctree instead of linksTristan Van Berkom2018-06-096-14/+12
|
* doc: Added plugins as ToC elements instead of orphaned linksTristan Van Berkom2018-06-0924-40/+73
| | | | | | | | | | | | o Now the page titles are declared in plugins, allowing for a more descriptive ToC o Makefile and plugin.rsttemplate updated to not produce the title, to no longer use `:orphan:` for plugin pages, and to ignore any private modules in the plugin directories. o Interestingly, now the docs will fail to build if you add a new plugin and forget to add it to the documentation.
* Allow tracking dependencies within sub-projects.Valentin David2018-06-082-10/+30
| | | | | | | --track-cross-junctions now concerns crossing junctions rather than forbidding elements in sub-project to be tracked. Part of #359.
* Handle cross junction elements in workspaces.Valentin David2018-06-086-30/+37
| | | | | | | | | | | Workspaces are now index by colon separated junction path. This now allows to create workspaces for elements in external projects. Workspaces are owned by context instead of root project. However it is initialized once top-level project is registered as we need to resolve paths relatively to this top-level project. Part of #359.
* Reword uses of project in Workspaces.Valentin David2018-06-081-22/+30
| | | | | Make it clear we expect the top-level project here as we use it to resolve paths relative to project directory.
* Interpret names as colon separated junction path in loader.Valentin David2018-06-081-6/+41
| | | | | | 'a.bst:b.bst' gets interpreted as 'b.bst' from junction 'a.bst'. Part of #359.
* autotools plugin: Dont regenerate existing configure scriptsTristan Van Berkom2018-06-081-4/+6
| | | | This closes #256
* _artifactcache/pushreceive.py: Cleanup reported error when receiving ↵Tristan Van Berkom2018-06-071-3/+2
| | | | | | | oversized artifacts This user facing string was redundantly declared in two places, only the message when catching the error was ever printed.
* pushreceive.py: Abstract the buffer_James Ennis2018-06-071-9/+8
|
* pushreceive.py: Ensure huge artifacts are not pushedJames Ennis2018-06-071-5/+32
|
* pushreceive.py: Add comments to code and name variables more sensiblyJames Ennis2018-06-071-1/+13
|
* pushreceive.py: Remove LRP artifacts from cache, introduce clean_up_cache()James Ennis2018-06-071-3/+54
| | | | This fixes #136
* pushreceive.py: Ensure there is a repopathJames Ennis2018-06-071-0/+3
|
* _ostree.py: Introduce _list_all_refs() and list_artifacts()Tristan Maat2018-06-071-0/+44
| | | | | The unused list_remote_refs() function has also been removed as part of this commit.
* _ostree.py: Reintroduce remove()Tristan Maat2018-06-071-0/+36
|
* _frontend/cli.py: Allow specifying commands in `bst help`Tristan Van Berkom2018-06-072-13/+67
| | | | | | o This supports deeply nested commands as well as shallow commands o Automated support for bash completions included
* Implement bst helpEd Baunton2018-06-071-3/+15
|
* Make `bst help` workEd Baunton2018-06-071-0/+4
|
* _frontend/cli.py: Try to autocomplete element paths when running from a ↵Chandan Singh2018-06-061-1/+17
| | | | | | | | subdirectory The previous commit added support for running bst commands form subdirectories of the project root. Make autocomplete also work in a similar way.
* _project.py: Allow running bst commands from subdirectories of project rootChandan Singh2018-06-061-2/+29
| | | | | | | | When initializing the project, BuildStream will continue searching for project.conf in parent directories in case it is not found in the current directory. Fixes #368.
* _loader/loader.py: Report element-path when failing to load elementsChandan Singh2018-06-061-1/+17
| | | | | | | | | | | | | | | | | It can be confusing, especially to new BuildStream users, that the CLI expects targets to be specified relative to element-path and not the current directory. Previously, the CLI would give a generic message stating that the file could not be found but it was not obvious that it was looking in the `element-path` directory. Explicitly print the element-path in the summary. Also, try to check if the specified element exists in the elements directory and print a hint to use the element-path relative paths if that's the case. Fixes #396. This is is also related to #341. This commit aims to tackle that issue by trying to educate users about element-path.
* make build element: Add support for PREFIXTristan Van Berkom2018-06-061-2/+2
|
* make plugin: Ammended documentation to note it's since version.Tristan Van Berkom2018-06-061-0/+4
|
* _versions.py: Bump format version to 9Tristan Van Berkom2018-06-061-1/+1
| | | | For addition of new `make` plugin
* Add a kind for MakeEd Baunton2018-06-062-0/+84
|
* _frontend/app.py: Remove unused variable at global scopeTristan Van Berkom2018-06-061-1/+0
|
* _artifactcache/pushreceive.py: Add Click type for CLI argument 'repo'Chandan Singh2018-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CLI for `bst-artifact-receive` expects a `repo` argument, which is supposed to be a directory, but Click currently expects it to be just any string. This results in stack traces like the one below when the argument provided is not a directory: $ ~/.local/bin/bst-artifact-receive --pull-url http://foo foobaz Traceback (most recent call last): File "/root/.local/bin/bst-artifact-receive", line 8, in <module> sys.exit(receive_main()) ... File "/src/buildstream/buildstream/_artifactcache/pushreceive.py", line 581, in __init__ self.repo.open(None) GLib.Error: g-io-error-quark: /src/buildstream/43fref: opendir(/src/buildstream/foobaz): No such file or directory (1) Add types for this argument such that it throws better error messages when it receives bad arguments. With the Click types added, it will instead fail with messages like these: $ ~/.local/bin/bst-artifact-receive --pull-url http://foo foobaz Usage: bst-artifact-receive [OPTIONS] REPO Error: Invalid value for "repo": Directory "foobaz" does not exist. $ ~/.local/bin/bst-artifact-receive --pull-url http://foo setup.py Usage: bst-artifact-receive [OPTIONS] REPO Error: Invalid value for "repo": Directory "setup.py" is a file. Fixes #409.
* utils.py: Correcting a typo in safe_remove's commentPhillip Smyth2018-06-051-1/+1
|
* _sandboxbwrap.py: Fix post-bwrap cleanup behaviourGökçen Nurlu2018-06-051-1/+1
| | | | | | | | | The cleanup was supposed not to remove folders (`/dev`, `/tmp`, `/proc`) if they already existed before bwrap but it did the opposite: it tried to remove them if they existed before, and didn't remove them if they were created during bwrap. This was caused by a `not` clause, and this removes it. Fixes #379
* _context.py: Normalize user-defined pathsTristan Maat2018-06-051-0/+1
|
* _artifactcache/ostreecache.py: Fix artifact cache initialization result tupleAntoine Wacheux2018-05-311-1/+1
| | | | | In case of failure, the tuple contained 4 elements instead of 3, causing BuildStream to crash.
* junction.py: Include note regarding explicit trackingJames Ennis2018-05-231-0/+16
|
* Redirect elements when performing tracking and workspace commandsJonathan Maw2018-05-173-12/+54
| | | | i.e. when an element is specified, it may be replaced with its source element.
* filter.py: Redirect _get_source_element() calls to its build dependJonathan Maw2018-05-171-0/+11
| | | | | | We do this because trying to open/close/reset a workspace on a filter element doesn't make sense, but is probably meant for the element that the filter element filters.
* element.py: Add _get_source_element() methodJonathan Maw2018-05-171-0/+12
|
* element.py: Fix consistency of workspaced elements when ref is missingChandan Singh2018-05-171-9/+10
| | | | Fixes #393.
* _frontend/linuxapp.py: Fixed crash in previous commitTristan Van Berkom2018-05-171-1/+1
| | | | | Commit e023beb56b180316a58f409d48f158e9dc1ece95 introduced a crash with an invalid access to os.environ, this fixes it.
* _frontend: Notify failures when on linuxtristan/platform-appTristan Van Berkom2018-05-173-1/+75
| | | | | | | | 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.
* bst-init: Ensure --element-path is respected by the commandchandan/fix-bst-init-element-path288-kill-element-normal_name-variableChandan Singh2018-05-111-2/+2
| | | | | | | | | | | 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.
* _workspaces.py: Use file mtime for workspace cache keys instead of checksummingTristan Van Berkom2018-05-111-9/+6
| | | | | | | | | | | | | | | | | | | 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
* _stream.py: Do not force `PipelineSelection.ALL` for build with trackingJürg Billeter2018-05-111-1/+1
| | | | | | With the dynamic plan using `_set_required()` we can avoid pulling/fetching/building unneeded elements even if elements are being tracked.
* Do not pull/fetch/build elements that are not requiredJürg Billeter2018-05-115-4/+62
| | | | | For `bst build --deps plan`, do not process elements in pull/fetch/build queues until they are requested by a reverse dependency.
* _ostree.py: Remove unused function list_remote_refs()Jürg Billeter2018-05-111-20/+0
|
* _artifactcache/ostreecache.py: Do not use summary fileJürg Billeter2018-05-111-87/+18
|
* _artifactcache/artifactcache.py: Remove unused methodsJürg Billeter2018-05-111-35/+0
|
* element.py: Do not query remote artifact caches ahead of pull/pushJürg Billeter2018-05-114-74/+54
|
* _artifactcache: Add element paramater to has_fetch_remotes()Jürg Billeter2018-05-112-3/+15
|