Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Restructuring documentation and documenting project optionsoptions-refactor | Tristan Van Berkom | 2017-10-10 | 9 | -318/+693 |
| | |||||
* | tests/format/optionarch.py: Added arch option specific test cases | Tristan Van Berkom | 2017-10-10 | 3 | -0/+97 |
| | |||||
* | tests/format/optioneltmask.py: Added element-mask option specific test cases | Tristan Van Berkom | 2017-10-10 | 8 | -0/+135 |
| | |||||
* | tests/format/optionflags.py: Added flags option specific test cases | Tristan Van Berkom | 2017-10-10 | 6 | -0/+180 |
| | |||||
* | tests/format/optionenum.py: Added enum option specific test cases | Tristan Van Berkom | 2017-10-10 | 6 | -0/+162 |
| | |||||
* | tests/format/optionbool.py: Added boolean option specific test cases | Tristan Van Berkom | 2017-10-10 | 6 | -0/+146 |
| | |||||
* | tests/format/options.py: General tests for project options | Tristan Van Berkom | 2017-10-10 | 18 | -0/+365 |
| | |||||
* | tests/testutils/runcli.py: Provide the last raised exception in the result | Tristan Van Berkom | 2017-10-10 | 2 | -1/+14 |
| | |||||
* | exceptions.py: Added _get_last_exception() for testing | Tristan Van Berkom | 2017-10-10 | 1 | -0/+13 |
| | | | | | So when we run the full CLI, we can test failure modes by inspecting the last raised exception. | ||||
* | Updated test cases for internal API changes stemming from project options | Tristan Van Berkom | 2017-10-10 | 12 | -41/+58 |
| | |||||
* | _frontend/widget.py: Report selected project options, if any. | Tristan Van Berkom | 2017-10-10 | 1 | -0/+9 |
| | |||||
* | _frontend/main.py: Added -o/--option main CLI params | Tristan Van Berkom | 2017-10-10 | 1 | -6/+16 |
| | | | | | | Allows specifying option name/value tuples on the command line. Also updated frontend for minor API changes with Project & Context | ||||
* | _pipeline.py: Pass the project options to the loader | Tristan Van Berkom | 2017-10-10 | 1 | -0/+1 |
| | |||||
* | _loader.py: Now takes an OptionPool and processes each loaded file | Tristan Van Berkom | 2017-10-10 | 1 | -16/+14 |
| | |||||
* | project.py: Support project options | Tristan Van Berkom | 2017-10-10 | 2 | -142/+47 |
| | | | | | | | | | | | | | | | o Load the option definitions with the OptionPool o Set the user selected project option values according to the passed Context o Process conditionals in the loaded project configuration, excepting for the project name and actual option definitions o Removed a lot of examples from the default config. This is getting moved into more structured documentation, and the default config is only presented to the user beside the documentation which describes what each thing means. | ||||
* | context.py: Support user specified project options | Tristan Van Berkom | 2017-10-08 | 1 | -6/+5 |
| | | | | | | Constructor now expects cli_options to be specified, and now loading the project overrides supports the 'options' for a given project. | ||||
* | _options: OptionPool implementation, core project options module | Tristan Van Berkom | 2017-10-08 | 8 | -0/+649 |
| | | | | | | | | | This sub package includes the OptionPool which is the buildstream facing API for handling project options, loading them, evaluating expressions based on options and pre-processing loaded YAML. This also includes an abstract Option class and an implementation for each supported option type. | ||||
* | exceptions.py: Added LoadErrorReason.EXPRESSION_FAILED | Tristan Van Berkom | 2017-10-08 | 1 | -0/+3 |
| | | | | For handling failed jinja2 expression evaluation. | ||||
* | setup.py: Added jinja2 dependency | Tristan Van Berkom | 2017-10-08 | 1 | -1/+2 |
| | |||||
* | _yaml.py: Dont blindly coerse strings to bool in _yaml.node_get() | Tristan Van Berkom | 2017-10-08 | 1 | -4/+12 |
| | | | | | | | | | This leads to True booleans being evaluated for any string that is not None, even when a string value is "False" or "false". Instead, handle only "True", "true", "False" and "false" strings, and raise an error if another string was specified for a boolean value. | ||||
* | project.py: More consistent api for workspacesremove-variants | Tristan Van Berkom | 2017-10-08 | 3 | -17/+17 |
| | | | | | | | | Renamed _workspaces() -> _list_workspaces(), and changed local cache of workspaces from __workspaces -> _workspaces. We only really use the double underscore when there is a concern for freeing up namespace for public subclassing. | ||||
* | doc/source/format.rst: Removing all references to variants. | Tristan Van Berkom | 2017-10-08 | 1 | -82/+2 |
| | |||||
* | Updating test cases to construct the project/loader properly again. | Tristan Van Berkom | 2017-10-08 | 11 | -208/+44 |
| | | | | | This had changed when we added project variants and had to split up the loading steps a bit, now all is back to normal without variants. | ||||
* | Removing variant tests | Tristan Van Berkom | 2017-10-08 | 23 | -545/+0 |
| | |||||
* | _frontend/main.py: Removed all --variant CLI options | Tristan Van Berkom | 2017-10-08 | 1 | -54/+27 |
| | | | | And construct the pipeline without any variant now. | ||||
* | _frontend/widget.py: print_heading() no longer recognizes %{variant} | Tristan Van Berkom | 2017-10-08 | 1 | -6/+1 |
| | | | | | No more variants on `bst show` or when printing the pipeline at session startup time. | ||||
* | _pipeline.py: No more target variant | Tristan Van Berkom | 2017-10-08 | 1 | -7/+4 |
| | |||||
* | project.py: Removing traces of variants | Tristan Van Berkom | 2017-10-08 | 1 | -98/+23 |
| | | | | | | This means we also revert back to the older, simpler one step loading of the Project. This was broken into multiple steps since we had introduced the project variants. | ||||
* | _loader.py: Removing all traces of loading variants. | Tristan Van Berkom | 2017-10-08 | 1 | -452/+16 |
| | |||||
* | _metaelement.py: No more variant attribute to carry | Tristan Van Berkom | 2017-10-08 | 1 | -3/+1 |
| | |||||
* | _profile.py: Removed variant resolution profiling domain. | Tristan Van Berkom | 2017-10-08 | 1 | -1/+0 |
| | |||||
* | exceptions.py: Removing variant related errors | Tristan Van Berkom | 2017-10-08 | 1 | -15/+6 |
| | |||||
* | element.py: Removed public variant member, obsolete | Tristan Van Berkom | 2017-10-08 | 1 | -8/+0 |
| | | | | | This was used to show which variants had been selected when printing out the pipeline. | ||||
* | userconfig.py: Default element format doesnt include %{variant} anymore | Tristan Van Berkom | 2017-10-08 | 1 | -1/+1 |
| | |||||
* | doc/source/install.rst: Fix link to docker image48-incorrect-pipeline-total-element-count-for-bst-track | Tristan Van Berkom | 2017-10-08 | 1 | -1/+1 |
| | |||||
* | Update instructions for using BuildStream with Dockersam/use-via-docker | Sam Thursfield | 2017-10-06 | 1 | -73/+19 |
| | | | | | | | | | | | | | | | Changes: * use official image builds rather than suggesting users build and test their own * remove the `-u $UID` and /etc/passwd mount options; these didn't work on my system and I've not seen them needed * add SYS_ADMIN capability, /dev/fuse mount and remove seccomp. This reduces security but BuildStream does its own sandboxing in any case. In future we will add a wrapper script which should simplify the instuctions further. | ||||
* | Remove Dockerfile | Sam Thursfield | 2017-10-05 | 2 | -44/+0 |
| | | | | | | The Docker image is now built from a separate repo at: <https://gitlab.com/BuildStream/buildstream-docker-images> | ||||
* | .gitlab-ci.yml: Add comment after IRC discussion | Sam Thursfield | 2017-10-02 | 1 | -0/+2 |
| | |||||
* | doc/source/index.rst: Fix documentation to link the correct Sandbox module | Tristan Van Berkom | 2017-10-02 | 1 | -1/+1 |
| | |||||
* | sandbox.py: Fixup placement of main Sandbox docstring | Tristan Van Berkom | 2017-10-02 | 1 | -4/+4 |
| | |||||
* | context.py: Make _get_overrides() take a project name, not a project. | Tristan Van Berkom | 2017-10-02 | 2 | -4/+4 |
| | | | | | | | This is merely a protection against crossing the project/context wires together. The Project will gain knowledge of the context soon, so it's better that the context itself remain without any knowledge of the context. | ||||
* | Use _yaml.node_items() across the board, instead of casing _yaml.PROVENANCE_KEY | Tristan Van Berkom | 2017-10-01 | 4 | -34/+15 |
| | | | | | Consequently improved _yaml.node_sanitize() to omit a crazy lambda which had no effect at all on the outcome of the function. | ||||
* | _yaml.py: Fixing inconsistently named API _yaml.validate_node() | Tristan Van Berkom | 2017-10-01 | 7 | -17/+31 |
| | | | | | | | | | | All of the _yaml APIs which deal with a node (dictionary loaded from YAML) are named _yaml.node_foo(), _yaml.node_bar(), _yaml.node_baz() etc, except for this one glaring exception. Also added a missing internal API documenting comment for _yaml.node_validate() Also updated all callers to _yaml.validate_node() to now call _yaml.node_validate(). | ||||
* | artifactcache.py: Load the overrides from the yaml properly | Tristan Van Berkom | 2017-10-01 | 1 | -5/+13 |
| | | | | | | This was incorrectly accessing the dictionaries directly without the proper _yaml.node_get() APIs, it was also missing out on validation of the artifact configuration. | ||||
* | context.py: Add _get_overrides() and basic project override validation | Tristan Van Berkom | 2017-10-01 | 1 | -11/+29 |
| | | | | | | | This is just a step towards making the per-project overrides a little bit more comprehensive in the code base. Also, validation was missing on the overrides entirely. | ||||
* | plugin.py: Make Plugin.node_items() just yield from _yaml.node_items() | Tristan Van Berkom | 2017-10-01 | 1 | -4/+1 |
| | |||||
* | _yaml.py: Added node_items() convenience generator | Tristan Van Berkom | 2017-10-01 | 1 | -0/+19 |
| | |||||
* | artifacts.rst: Fixed documentation about installing the receiver. | Tristan Van Berkom | 2017-10-01 | 1 | -3/+3 |
| | |||||
* | setup.py: Use env var instead of --install-option for the receiver install | Tristan Van Berkom | 2017-10-01 | 1 | -27/+11 |
| | | | | | Fixes the previous commits which attempt to allow optionally only installing bst-artifact-receive, which doesnt work, because pip. | ||||
* | Fix artifact push capability detectionfix-artifacts-can-push | Mathieu Bridon | 2017-09-30 | 1 | -1/+1 |
| | | | | | | | | | | Two branches got developed at the same time: * Tristan's cross-platform work * my work on per-project overrides for artifacts-related options Mine got merged first, and somehow this must have been missed in a rebase. |