summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tests/context/context.py: Test setting XDG_CACHE_HOMEtlater/context-trailing-slashTristan Maat2018-06-011-0/+17
|
* _context.py: Normalize user-defined pathsTristan Maat2018-05-311-0/+1
|
* .gitignore: Ignore autogenerated docsalbfan2018-05-251-0/+8
|
* Merge branch 'master' of https://gitlab.com/BuildStream/buildstreamtoscalix2018-05-241-0/+16
|\ | | | | | | | | | | | | | | bst_task.md : default template also as option. This is the default template. It is neccessary to include it in this directory to have it as option which is required in special cases. This fix issue https://gitlab.com/BuildStream/nosoftware/alignment/issues/12
| * junction.py: Include note regarding explicit trackingJames Ennis2018-05-231-0/+16
| |
* | bst_task.md: default template also as optiontoscalix2018-05-241-0/+17
|/
* correction :toscalix2018-05-221-1/+1
|
* correction :toscalix2018-05-221-4/+4
|
* bst merge request templatetoscalix2018-05-221-0/+19
|
* bst bug templatetoscalix2018-05-221-0/+36
|
* NEWS: Add item for element redirection214-filter-workspacingJonathan Maw2018-05-211-0/+10
|
* 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
|
* tests: Add track tests for the filter elementJonathan Maw2018-05-171-1/+288
|
* tests: Add workspace tests for filtersJonathan Maw2018-05-171-0/+70
|
* element.py: Fix consistency of workspaced elements when ref is missingChandan Singh2018-05-172-9/+42
| | | | 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.
* doc/source/examples_flatpak_autotools.rst: Enhanced exampleTristan Van Berkom2018-05-161-12/+117
| | | | | | | | | | | This has now changed to: * Have explanations of the project.conf and each element in the example, explaining what they are for * Have links into the reference for the specific features this example uses, such that the reader can get familiar with the reference manual from example windows
* doc/examples/flatpak-autotools/README.md: RemovingTristan Van Berkom2018-05-161-28/+0
| | | | | This is redundant with doc/source/examples_flatpak_base.rst, lets please only document things once.
* doc/source/examples.rst: Rearranged ToC for examplesTristan Van Berkom2018-05-162-29/+36
| | | | We want one example per file, not a huge file full of different examples.
* tests/examples/flatpak-autotools.py: Workaround setuptools bugTristan Van Berkom2018-05-161-0/+18
| | | | | | Until the setuptools bug is fixed, symlinks are not included in source distributions - this works around the problem until which point we can use a setuptools version without the bug.
* doc: Add first example, building on a flatpak SDKalbfan2018-05-1623-0/+3225
| | | | | | | | This adds: o A ToC area for adding examples o The instructive example page for the first example o The example project under doc/examples o The corresponding integration test in tests/examples
* doc/source/projectconf.rst: Added link anchor for source aliasesTristan Van Berkom2018-05-161-0/+2
|
* doc/source/projectconf.rst: Added link anchors for project option typesTristan Van Berkom2018-05-161-0/+10
|
* bst-init: Ensure --element-path is respected by the commandchandan/fix-bst-init-element-path288-kill-element-normal_name-variableChandan Singh2018-05-112-2/+5
| | | | | | | | | | | 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-112-2/+2
| | | | | | 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
|
* doc/source/artifacts.rst: Drop section about summary file updatesJürg Billeter2018-05-111-17/+0
| | | | Summary files are no longer used.
* _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
|
* _artifactcache: Add bool return value to pull()Jürg Billeter2018-05-113-6/+11
| | | | | Calling pull() for a potentially unavailable artifact is no longer considered an error.
* _stream.py: Remove unused downloadable parameter from load_selection()Jürg Billeter2018-05-111-4/+1
|
* _frontend/cli.py: Remove bst show --downloadable optionJürg Billeter2018-05-111-5/+2
| | | | This is in preparation for moving away from summary files.
* tests: Do not rely on 'downloadable' statusJürg Billeter2018-05-114-21/+25
| | | | This is in preparation for moving away from summary files.
* _pipeline.py: Allow pulling strict artifacts in non-strict modeJürg Billeter2018-05-111-3/+7
| | | | | | | | | | | Remotely cached artifacts matching the strict cache key take precedence over locally cached artifacts matching only the weak cache key. However, locally cached artifacts were excluded from the build plan, which means that BuildStream never even checked whether the strict artifact is available in the remote artifact cache. This changes planning to keep cached elements in the build plan in non-strict mode if a remote artifact cache is used.
* _pipeline.py: Remove unused ignore_cache parameter from _PlannerJürg Billeter2018-05-111-7/+7
|
* _artifactcache/ostreecache.py: Fix global remotesJürg Billeter2018-05-111-2/+2
| | | | | | Counter-intuitively, Python list += mutates the list. Use explicit copy() and extend() instead of += to avoid adding project-specific remotes to the global remote list.
* _project.py: Remove unused internal function _extract_plugin_paths()Chandan Singh2018-05-111-8/+0
| | | | | | For reference, this method was added in commit c41f1093d83eb32606f81005227542699f756b0a, but since commit 4912ed5f8922b47c1a16c3752eb92a3f1dea76b2 it has been unused.
* Add soft reset functionality for workspacesTristan Van Berkom2018-05-102-4/+13
| | | | | | | | | | | 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.
* buildstream/plugins/sources/_downloadablefilesource.py: Store etag along ↵Valentin David2018-05-101-23/+42
| | | | | | with cache. Fixes #377.
* _frontend/app.py: Fixed ordering of initialization sequence.Tristan Van Berkom2018-05-101-14/+14
| | | | | We need the logging handler setup before creating the Stream(), as the Stream() will expect logging to be already functional.
* _frontend/cli.py: Fetch all elements when tracking a build plantristan/pipeline-refactorTristan Van Berkom2018-05-081-0/+7
| | | | | | | | | | | | | | | | It makes not sense to type `bst fetch --track --deps all <targets>`, because tracking will inevitably modify the build plan. Stream initialization will not cope with this either, instead of silently doing something which does not make any sense, we add an assertion that this should not happen. Unfortunately since `plan` is the default deps type for `bst fetch`, this is likely to happen so it's important to correct. This patch adds a warning in the case tracking of the build plan elements is requested, and converts the request to track all elements instead.
* _stream.py, _pipeline.py: Refactoring of the pipeline itselfTristan Van Berkom2018-05-087-606/+685
| | | | | | | | | | | | | | | | | | | 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-087-103/+131
| | | | | | | 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.