summaryrefslogtreecommitdiff
path: root/buildstream/_stream.py
Commit message (Collapse)AuthorAgeFilesLines
* Implementing relative workspacesrelative_workspacesPhillip Smyth2018-08-101-15/+17
| | | | | | | This fixes #191 A note has been added to NEWS explaining backwards compatibility issues
* Add support for include '(@)' in project.conf and .bst filesValentin David2018-08-021-2/+5
| | | | Fixes #331.
* Make Project owner of Loader.Valentin David2018-08-021-4/+4
|
* _stream.py: Print details on checkout failuremablanch/447-stack-trace-checkoutMartin Blanchard2018-08-011-1/+1
|
* _stream.py: Convert to virtual directories.Jim MacArthur2018-08-011-43/+9
| | | | | This removes _add_directory_to_tarfile since it is now implemented in _filebaseddirectory.py.
* _stream.py: Added functionality for workspace open -fPhillip Smyth2018-07-251-1/+5
| | | | tests/frontend/workspace.py: Added tests
* Add support for creating a tarball on bst checkouttiagogomes/tarball_checkoutTiago Gomes2018-07-201-27/+87
| | | | | | | | One of the tests added is configured to be skipped for now, as dumping binary data is causing a bad descriptor exception when using the pytest capture module. Closes #263.
* source-bundle: Enable --except optionfranred/fix-except-argument-in-source-bundleFrancisco Redondo Marchena2018-07-191-1/+3
| | | | | | | Before this option was listed in help but was ignored when creating the source-bundle. Issue #468
* _stream.py: Clarifying ambiguous FIXME comment about required artifactsbst-1-branchpointTristan Van Berkom2018-07-181-3/+6
|
* Clean the artifact cache when we hit the cache quotaTristan Maat2018-07-181-0/+8
| | | | | When the cache quota is hit, we will remove any elements not required for the current build, until our cache is only filled halfway.
* buildstream/_frontend/cli.py: Added a `--deps` flag to `bst checkout`Phillip Smyth2018-07-171-1/+2
| | | | | buildstream/_stream.py: Added deps param to _prepare_sandbox function call buildstream/element.py: Added deps param and logic to _prepare_sandbox function
* Only redirect elements for workspace and track operationsPRE_CAS_MERGE_JULY_2018Jonathan Maw2018-07-161-4/+10
| | | | It was redirecting for checkout operations
* Remove shebangs from python filesGökçen Nurlu2018-06-191-1/+0
| | | | Fixes #424
* Allow tracking dependencies within sub-projects.Valentin David2018-06-081-3/+21
| | | | | | | --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-081-13/+19
| | | | | | | | | | | 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.
* Redirect elements when performing tracking and workspace commandsJonathan Maw2018-05-171-1/+39
| | | | i.e. when an element is specified, it may be replaced with its source element.
* _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-111-2/+14
| | | | | For `bst build --deps plan`, do not process elements in pull/fetch/build queues until they are requested by a reverse dependency.
* _stream.py: Remove unused downloadable parameter from load_selection()Jürg Billeter2018-05-111-4/+1
|
* Add soft reset functionality for workspacesTristan Van Berkom2018-05-101-1/+8
| | | | | | | | | | | Add `--soft` option to `bst workspace reset` which would allow uses to reset workspace-related state without affecting its contents. This will be useful in case when an user wants to re-run configure-commands for a workspaced element. Patch originally by Chandan Singh, rebased against recent refactor. Fixes #375.
* _stream.py, _pipeline.py: Refactoring of the pipeline itselfTristan Van Berkom2018-05-081-278/+410
| | | | | | | | | | | | | | | | | | | Here the pipeline becomes essentially stateless, some dangling state remains to be factored out because of frontend accesses which will be changed in a later commit. Essentially, the Pipeline.load() method no longer has any knowledge of the specific purposes of the loaded targets, and now takes a list of target groups and returns a corresponding list of element groups. The Stream() business logic methods now use other pipeline helper methods to create and filter lists from the loaded target elements. The Stream() also finally absorbs the Scheduler frontend facing APIs. However Queues are still exposed on the Stream object for logging purposes and through callbacks such that the frontend can retry elements.
* _artifactcache: Added ArtifactCache.setup_remotes()Tristan Van Berkom2018-05-081-3/+9
| | | | | | | This removes some additional initialization code from Pipeline(). Some symbols have changed here, the initialization is now called from Stream(), and a test case was also adjusted for this.
* Moving 'fetch_subprojects' configuration to stream <--> loaderTristan Van Berkom2018-05-081-14/+27
| | | | | | | | | This was previously decided in CLI, but knowledge of what to initialize has been moved to Stream(). Now there is no more point to store this configuration in the Context, we just have the Stream() decide it when asking the Pipeline() to invoke the Loader().
* _stream.py, _frontend: Call Stream() APIs with CLI arguments directly.Tristan Van Berkom2018-05-081-134/+410
| | | | | | This shifts the whole responsibility of interpreting command line targets etc to the Stream() object itself. With this commit, the Pipeline() truly becomes slaved to the Stream().
* _stream.py: Absorb workspace functionality from App.Tristan Van Berkom2018-05-081-28/+180
|
* _stream.py: Add StreamError exceptionTristan Van Berkom2018-05-081-25/+25
| | | | Use Stream error for Stream errors.
* _stream.py: New Stream object, main calling interface for BuildStream coreTristan Van Berkom2018-05-081-0/+396
This is the first part of the pipeline refactor, at this stage all calling interfaces remain the same, except that invocation of the scheduler has been moved from Pipline to Stream.