Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add warnings when staging to /buildstream/build74-prevent-artifacts-from-containing-files-in-buildstream-build | Tristan Maat | 2017-10-19 | 10 | -1/+71 |
| | |||||
* | artifactcache.py: Fix missing fetch_remote_refs interface98-ctrl-c-doesn-t-properly-kill-a-non-interactive-shell | Tristan Maat | 2017-10-19 | 3 | -2/+15 |
| | |||||
* | Fix keyboardinterrupts caused by subprocesses | Tristan Maat | 2017-10-19 | 2 | -18/+94 |
| | |||||
* | _yaml.py: Fixes #119 - Custom implementation of ChainMap | Tristan Van Berkom | 2017-10-19 | 1 | -1/+93 |
| | | | | | | | | | | | | | | We had previously painted ourselves into a corner by using ChainMap as an optimization for creating mutable copies of a loaded YAML tree. The problem with this is that, deleting things which have not been explicitly mutated raises a KeyError, because ChainMap only operates on the first (mutable) mapping; and also fails to preserve explicitly deleted state. This patch adds a custom derived ChainMap which caches deleted state in self.__deletions and behaves more like a copy-on-write mutable dictionary. | ||||
* | .gitlab-ci.yml: Issue #100 - Avoid installing setup.py test_requiresno-install-test-requires | Tristan Van Berkom | 2017-10-18 | 1 | -2/+2 |
| | | | | | This avoids installing random versions of python packages from pypi when running the pytest test suite. | ||||
* | contrib/bst-here: Change how invocation works | Sam Thursfield | 2017-10-18 | 2 | -10/+17 |
| | | | | | | | | | | | | | | If run with no arguments, `bst-here` now opens an interactive Bash shell. This has several advantages to running each `bst` command in a new container: * it's faster * bash completions will work * man pages could work (if the user runs `dnf install man`) If run with arguments, those are now assumed to be arguments for `bst` such that instead of running `bst-here bst build foo` you now just run `bst-here build foo`. | ||||
* | contrib/bst-here: Set a fixed shell prompt | Sam Thursfield | 2017-10-18 | 1 | -0/+3 |
| | | | | | | | | | | | | This allows users to distinguish bst-here shell sessions from their regular shell. The prompt is blue and gives you just the path name, e.g.: /src> The prompt can be customised or removed by editing the bst-here script directly. | ||||
* | Add `bst-here` script and document it | Sam Thursfield | 2017-10-18 | 2 | -17/+92 |
| | |||||
* | .gitlab-ci.yml: Use `pip3 install --no-index` when installing BuildStream | Sam Thursfield | 2017-10-18 | 1 | -5/+8 |
| | | | | | | | | | | This means we don't download anything from PyPI during the BuildStream tests. Everything used is already in the Docker image. This also removes an unnecessary `pip3 install coverage` call. The Coverage library contained in the Docker image. This fixes #100 | ||||
* | doc/source/formatintro.rst: Documenting list composition directiveslist-composition-directives | Tristan Van Berkom | 2017-10-17 | 2 | -37/+108 |
| | |||||
* | tests/yaml/, tests/format/: Added tests for list composition directives | Tristan Van Berkom | 2017-10-17 | 16 | -104/+324 |
| | |||||
* | element.py: Updated for _yaml.composite() API changes | Tristan Van Berkom | 2017-10-17 | 1 | -13/+13 |
| | |||||
* | project.py: Updated for _yaml.composite() API changes | Tristan Van Berkom | 2017-10-17 | 1 | -2/+2 |
| | |||||
* | context.py: Updated for _yaml.composite() API change | Tristan Van Berkom | 2017-10-17 | 1 | -1/+1 |
| | |||||
* | _loader.py: Updated for _yaml.composite() API change | Tristan Van Berkom | 2017-10-17 | 1 | -4/+2 |
| | |||||
* | _yaml.py: Implement array composition directives | Tristan Van Berkom | 2017-10-17 | 1 | -66/+303 |
| | | | | | | | | | | | | | | | | | | | | | Now we support (<), (>) and (=) directives for declarative list composition. In place of specifying a list directly to override another list, specify a dict with sublists for prepending, appending and overriding, respectively. As a consequence, the composite policy which previously decided between whether to override or append has been removed from the API. Further, the typesafe parameter has been removed and all compositions are expected to be typesafe (this was always being passed as True anyway). This also adds _yaml.node_final_assertions() which needs to be called after the final composition of a dictionary, before validation and before trying to parse values from the said node. This allows the _yaml module to have a chance to make some assertions after everything is composited | ||||
* | exceptions.py: Added LoadErrorReason.TRAILING_LIST_DIRECTIVE | Tristan Van Berkom | 2017-10-17 | 1 | -0/+3 |
| | |||||
* | _options/optionpool.py: Use _yaml.composite() instead of _yaml.composite_dict() | Tristan Van Berkom | 2017-10-17 | 1 | -1/+1 |
| | | | | We want the one which provides a nice LoadError | ||||
* | _ostree.py: Fix error handling to handle GLib.Error | Tristan Van Berkom | 2017-10-15 | 1 | -5/+1 |
| | |||||
* | Remove omit stuff, and migrating integration tests to not use old 'arches' ↵ | Tristan Van Berkom | 2017-10-14 | 64 | -885/+258 |
| | | | | | | statements If tests are going to be omitted, they can live outside of the buildstream repo. | ||||
* | Merging integration tests into buildstream proper.merging-integration-test | Tristan Van Berkom | 2017-10-14 | 239 | -10/+3148 |
| | | | | This fixes #96 | ||||
* | .gitignore: Dont ignore .pyc files in integration-tests/ | Tristan Van Berkom | 2017-10-14 | 1 | -1/+2 |
| | |||||
* | ostree.py source plugin: More informative error when missing track & ref | Tristan Van Berkom | 2017-10-14 | 1 | -1/+1 |
| | |||||
* | git.py source plugin: More informative error when missing track & ref | Tristan Van Berkom | 2017-10-14 | 1 | -1/+1 |
| | |||||
* | doc/source/projectconf.rst: Document option variable exporting feature | Tristan Van Berkom | 2017-10-14 | 1 | -0/+60 |
| | |||||
* | tests/format/optionexports.py: Testing variable exports for base option types | Tristan Van Berkom | 2017-10-14 | 3 | -0/+69 |
| | |||||
* | project.py: Export options as variables if that was asked for | Tristan Van Berkom | 2017-10-14 | 1 | -12/+13 |
| | | | | | Here we just use the new exporting mechanics to apply to the base variable dictionary defined by the project. | ||||
* | _options: Options can now be exported to variables in string form | Tristan Van Berkom | 2017-10-14 | 4 | -1/+28 |
| | | | | | | | | | | This patch adds a `variable` attribute to all option definitions, which if specified, can be used to override and declare variable at the project.conf level. A new `get_value()` method was added allowing implementations to create a string for the value of the option - main subclasses updated to support the string conversion with `get_value()` | ||||
* | doc/source/install.rst: Add instructions for Arch systems | Javier Jardón | 2017-10-13 | 1 | -0/+6 |
| | |||||
* | element.py: Fix cleanup after collection of artifact with read-only directoriesfix-artifact-cleanup | Tristan Van Berkom | 2017-10-13 | 1 | -47/+40 |
| | | | | | | | | | | Part of issue #81 This was failing because the tmpdir contextmanager was trying to still use it's own mechanics to cleanup the artifact assembly directory. This is fixed by *not* using a tmpdir, which was just wrong to begin with because we're already working inside a temp directory. | ||||
* | _plugincontext.py: Fix third party plugin loading | Tristan Maat | 2017-10-13 | 1 | -15/+28 |
| | |||||
* | element.py: Force remove artifact assembly directory on failure to commit | Tristan Van Berkom | 2017-10-13 | 1 | -2/+10 |
| | | | | | | This is there because an ArtifactError on failure to commit indicates some permissions issue with the directory structure, and it's better to not leave this dangling behind for users to deal with. | ||||
* | Ensure that artifact file permissions are set in the right order | Tristan Maat | 2017-10-13 | 4 | -9/+39 |
| | |||||
* | doc/source/formatintro.rst: Remove reference to architecture conditionals | Tristan Van Berkom | 2017-10-11 | 1 | -1/+5 |
| | |||||
* | doc/source/formatintro.rst: Documenting (!) assertion directives | Tristan Van Berkom | 2017-10-11 | 1 | -0/+23 |
| | |||||
* | tests/format/assertion.py: Added tests for the (!) assertion directive | Tristan Van Berkom | 2017-10-11 | 5 | -0/+74 |
| | |||||
* | _options/optionpool.py: Implement the (!) assertion directive | Tristan Van Berkom | 2017-10-11 | 1 | -2/+11 |
| | | | | | | These are processed inline with conditionals and before each iteration of conditional processing, ensuring that we always trigger the first assertion ever composited. | ||||
* | exceptions.py: Added USER_ASSERTION load error | Tristan Van Berkom | 2017-10-11 | 1 | -0/+3 |
| | |||||
* | .gitlab-ci.yml: Follow latest BuildStream Docker image | Sam Thursfield | 2017-10-10 | 1 | -13/+5 |
| | | | | | | | | | | This allows us to remove env vars that are now set in the image, and some packages which are already installed in the image. I've left Sphinx (which is needed for the documentation task) out of the image as it pulls in a bunch of Python 2 dependencies that would bloat the image. Although note that Python 2 is already present in the image because Bazaar depends on it. | ||||
* | Added missing file from documentation makeover | Tristan Van Berkom | 2017-10-10 | 1 | -0/+26 |
| | |||||
* | 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 |
| |