summaryrefslogtreecommitdiff
path: root/buildstream/buildelement.py
Commit message (Collapse)AuthorAgeFilesLines
* Switch old-style string formattings to new '.format()'Gökçen Nurlu2017-11-171-2/+2
|
* Make node_get_member pass default values as positional argsJonathan Maw2017-11-141-2/+2
| | | | | It is functionally similar to dict.get() and fulfills the same role, so it should be used that way.
* buildelement.py: Fixed doc string link.exceptions-refactorTristan Van Berkom2017-11-061-1/+1
|
* buildelement.py: Issue #121 - Remove traces of pre-/post- commandsTristan Van Berkom2017-11-061-34/+29
|
* Add warnings when staging to /buildstream/build74-prevent-artifacts-from-containing-files-in-buildstream-buildTristan Maat2017-10-191-0/+13
|
* Add element plugin node validationsTristan Maat2017-09-141-4/+8
|
* buildelement.py: Log commands run by source-bundle scriptsSam Thursfield2017-07-051-1/+1
| | | | | | | | | | | | This makes the log output more useful, as you see output like this for each command that is run + ./configure --prefix=/usr ...configure output... + make ...make output... etc.
* Fix accidental permission changesTristan Maat2017-06-281-0/+0
|
* buildelement.py: Implement generate_scriptTristan Maat2017-06-281-0/+12
|
* buildelement.py: Adapt to Element and Sandbox API churnTristan Van Berkom2017-06-121-19/+19
|
* buildelement.py: Dont silence integration command messagesTristan Van Berkom2017-05-211-1/+1
| | | | This are nice to see, however need to be improved (see issue #34)
* buildelement.py: Support for `command-subdir` var + docsTristan Van Berkom2017-05-151-11/+93
| | | | | | | Documented the operations of how BuildElement works in general as this was missing, also restructured the assemble() method to not hard code the /buildstream/build and /buildstream/install paths now that we have Element.get_variable()
* element.py: Added stage_dependencies() convenience function.Tristan Van Berkom2017-03-151-2/+1
| | | | | | | | | | | | This iterates over the elements dependencies and stages them somewhere in a sandbox. This is especially interesting because of the added warnings it gives you about the file overlaps and ignored files which would otherwise overwrite non-empty directories. Also updated build and compose elements to use this in place of manually looping.
* buildelement.py: Adapt to cleaned up sandbox APITristan Van Berkom2017-03-081-10/+10
|
* buildelement.py: Use read-only root when running build commandsTristan Van Berkom2017-02-241-0/+4
|
* buildelement.py: Better outputTristan Van Berkom2017-02-241-2/+5
| | | | | Only time one category of command at a time, and status messages for each command in a group.
* buildelement.py: Timed activity for staging dependencies and running integrationTristan Van Berkom2017-02-231-4/+6
|
* build-element.bst: Append newline to build commands run in sandboxTristan Van Berkom2017-02-231-1/+1
| | | | | | They are loaded with stripped whitespace, but when launching the command sometimes having a newline can make a difference (especially when doing cat > file << EOF ... EOF, the final EOF must have a newline)
* buildelement.py: Explicitly consider 'notparallel' in cache key resolutionTristan Van Berkom2017-02-221-0/+8
| | | | Only really applies to build elements.
* buildelement.py: Run the shell with 'sh', and pass -eTristan Van Berkom2017-02-221-1/+5
|
* buildelement.py: Ensure build & install dirs existTristan Van Berkom2017-02-211-5/+7
| | | | | | We were not creating the install directory, and it happened that most elements dont require it already exist, untill we met e2fsprogs.bst :)
* buildelement.py: Use 'sh' instead of '/bin/sh' for running shell scriptsTristan Van Berkom2017-02-031-1/+1
| | | | Matches ybd more closely, but probably doesnt make much difference.
* buildelement: Ensure build directory existsTristan Van Berkom2017-02-031-0/+7
|
* buildelement.py: Run Element.integrate() on all staged dependencies.Tristan Van Berkom2017-01-251-0/+5
| | | | | Ensure that caches are updated and system is runnable before running any shell commands.
* buildelement.py: Implement assemble()Tristan Van Berkom2017-01-181-1/+28
| | | | | This class implements the running of commands for all of the subtype plugins which derive it (manual, autotools, cmake, ...)
* buildelement.py: No need to report a sorted unique keyTristan Van Berkom2017-01-091-1/+1
| | | | The core will sort it for us.
* buildelement.py: Use a sorted dict and not an ordered one.Tristan Van Berkom2017-01-091-4/+2
| | | | | | | | | | This change causes cache keys to be stable (without this they are different every time due to some random order). The input of the element does not change if you specify the install commands before the build commands, and in any case I dont think we can rely on knowing the order dict members were specified in a yaml file.
* buildelement.py: Use new node accessor utilities with variable substitutionTristan Van Berkom2017-01-071-3/+2
|
* Adding new built-in BuildElementTristan Van Berkom2016-12-311-0/+70
This abstraction allows easily implementing various subclasses by just installing a config file for their defaults. It's handy to have it in the core so that one can easily subclass it in custom plugins.