summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add a 'path' config option to junction elementsjuerg/recursive-pipelinesSam Thursfield2018-02-082-1/+16
| | | | | | | | | | | | | | | | | | | This makes it possible to depend on a project which is in a subdirectory of a Git repository. The error message given when the expected project.conf file is not found has also been improved. Previously the error would look like this: Error loading pipeline: Could not find file at /home/sam/.cache/buildstream/build/freedesktop-sdk-junction-rvmn17s2/project.conf This is giving the path of an internal temporary directory where the foreign project's source is checked out. The new error gives more information: Error loading pipeline: Could not find the project.conf file for junction element at freedesktop-sdk-junction.bst [line 1 column 0]. Expecting a project at path '.' within git source at freedesktop-sdk-junction.bst [line 4 column 2]
* Add test for project-specific artifact shares with junctionsJürg Billeter2018-02-0810-0/+121
|
* _artifactcache: Use project-specific remotes for subprojectsJürg Billeter2018-02-087-52/+128
|
* Add list of projects to ContextJürg Billeter2018-02-082-0/+23
|
* Add junction testsJürg Billeter2018-02-0847-0/+420
|
* Add junction support for subprojectsJürg Billeter2018-02-0813-33/+400
| | | | | This introduces junctions as a new kind of elements to allow dependencies to cross project boundaries.
* _loader.py: Pass Loader instance to LoadElementJürg Billeter2018-02-081-4/+4
| | | | Loader access will be required for junctions.
* Add project attribute to MetaElementJürg Billeter2018-02-083-7/+10
| | | | With junctions, elements may be loaded from multiple projects.
* Pass Project instance to LoaderJürg Billeter2018-02-087-29/+33
| | | | Project access will be required for junctions.
* Move element and source factories from Pipeline to ProjectJürg Billeter2018-02-084-30/+31
| | | | Element and source factories use a project-specific search path.
* Move cli_options from Context to ProjectJürg Billeter2018-02-089-19/+20
| | | | cli_options are project-specific.
* _options: Support transform function for variable substitutionJürg Billeter2018-02-085-7/+15
|
* element.py: Split errors and warnings for overlapsJürg Billeter2018-02-081-17/+25
| | | | | This ensures that overlap warnings from projects without fail-on-overlaps are not reported in fatal error messages.
* Remove old workspace mount integration testJürg Billeter2018-02-077-110/+0
| | | | It has already been migrated.
* Add workspace mount integration test175-refactor-integration-testsTristan Maat2018-02-073-0/+50
|
* Remove old integration testsTristan Maat2018-02-07187-2341/+0
|
* Merge integration tests into general testsTristan Maat2018-02-0734-69/+109
|
* shell.py: Add shell testTristan Maat2018-02-071-0/+78
|
* Add bzr testTristan Maat2018-02-073-0/+49
|
* Migrate element test filesTristan Maat2018-02-0728-0/+794
|
* Add test utilities for integration testsTristan Maat2018-02-074-26/+132
|
* runcli.py: Allow setting individual config settingsTristan Maat2018-02-071-4/+8
|
* .gitignore: Add rules for various testing directoriesTristan Maat2018-02-071-3/+7
|
* tests/frontend/overlaps.py: Add test for runtime dependency stagingJürg Billeter2018-02-072-0/+19
| | | | This test covers #225.
* element.py: Fix staging of runtime dependencies with overlapsAbderrahim Kitouni2018-02-071-1/+1
| | | | | | | | This fixes `bst shell` crashes in the presence of overlaps. Fixes #225 Fixes: 2aa233da ("element: Handle overlaps with a whitelist and...")
* tests/cachekey: Updating cache key test for new artifact versioncache-keys-os-archTristan Van Berkom2018-02-0724-24/+24
|
* _project.py: Bumping artifact version for execution environmentTristan Van Berkom2018-02-071-1/+1
| | | | | Now that we consider the arch and os for every artifact, lets bump the core artifact version to make this trackable.
* element.py: Consider execution environment in cache keyTristan Van Berkom2018-02-071-0/+10
| | | | | | Do this by default for every element, later we will have to handle it differently when supporting projects which build on specific arches with virtualization or networked workers.
* _pipeline.py: Silence some messages while interrogating source consistencyTristan Van Berkom2018-02-071-3/+4
|
* Revert "image_authoring.rst: Add image creation documentation"Jürg Billeter2018-02-071-69/+0
| | | | | | This was pushed accidentally. This reverts commit 34a60189be63dc86d333ca895ce44bd24adb43c3.
* image_authoring.rst: Add image creation documentationTristan Maat2018-02-061-0/+69
|
* Increase the soft limit for open file descriptorsjuerg/fuse-rlimitJürg Billeter2018-02-061-0/+9
| | | | | | | | SafeHardlinks FUSE needs to hold file descriptors for all processes in the sandbox. Avoid hitting the limit too quickly by increasing the soft limit to the maximum. Fixes #232
* setup.py: Require jinja >= 2.10Javier Jardón2018-02-051-1/+1
| | | | | | jinja2 2.10 import time has been divided by two compared to Jinja 2.9.6 Fixes #194
* .gitlab-ci.yml: Update docker image so it contains jinja >= 2.10Javier Jardón2018-02-051-1/+1
|
* Update copyright years of changed filesSam Thursfield2018-02-053-2/+3
|
* Improve documentation for autotools, cmake and meson elementsSam Thursfield2018-02-056-13/+101
| | | | | | The key change is to document the correct usage of the conf-local and conf-global style options, as it was previously impossible to figure that out from the documentation.
* plugins/elements/cmake.yaml: Remove unexplained FIXME commentSam Thursfield2018-02-051-1/+0
|
* Add tests for workspace config format conversionChandan Singh2018-02-051-0/+54
|
* Make workspaces element-wide instead of source-specificChandan Singh2018-02-054-85/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | At present, BuildStream supports source-specific workspaces. This patch makes workspaces element-wide. This will bring workspaces closer to what the build area looks like inside the sandbox when the build actually happens. As part of this change, format of `.bst/workspaces.yaml` file will also change. Previously, each element used to have a dict mapping each source to its workspace directory. Now, each element will directly map to its workspace directory. If users have existing workspaces open, this patch tries to cope with it but in some cases, it is not possible to reliably convert workspace config from old format to new format. When an element has workspace open for just one source, we assume that to be the workspace directory. But if there were more than one workspaces associated with an element, BuildStream will simply error out describing the issue. Note that the actual contents of the workspace directory are not changed in any case. So, if an element had multiple sources associated with it but only had workspace open for source, the other sources will not be automatically staged in the workspace unless the user runs `workspace reset` or something equivalent. Part of #209.
* _frontend: remove unused 'ctx' param from overrideAngelos Evripiotis2018-01-312-13/+8
| | | | | The 'ctx' parameter is carefully threaded through to 'complete_target', but it doesn't actually use it. Remove the parameter from unused places.
* _frontend: more doc on parametersAngelos Evripiotis2018-01-312-5/+24
|
* Get version number w/o pkg_resourcesGökçen Nurlu2018-01-316-11/+19
| | | | | | | | | | | | This removes most of the usages of pkg_resources from the codebase, helping the goal of getting rid of that completely. With this change, version number is generated during install and embedded into `__version__` which is then imported by root level `__init__`. From there, it is used by other parts of the codebase when needed. Generated `__version__` file is ignored and not tracked by git to prevent unnecessary 'changes' messages and accidental commits of that file.
* Modify the generated CLI script by monkey patchingGökçen Nurlu2018-01-311-0/+37
| | | | | | | This change monkey patches setuptools' code generation functionality, so that pkg_resources won't be imported in the generated file. Fixes #172
* doc/source/install.rst: Simplified as per recommendations of Allan DayTristan Van Berkom2018-01-291-23/+38
|
* doc: Explain overlap-whitelist and fail-on-overlap164-minimise-overlaps-by-having-overlaps-raise-exceptions-unless-configured-not-toJonathan Maw2018-01-252-0/+40
|
* tests: Add overlap testsJonathan Maw2018-01-2518-15/+125
|
* tests: Move test_overlaps test filesJonathan Maw2018-01-255-4/+5
| | | | | This was done so that the files can be re-used with different project.conf.
* tests: Remove stray printing during overlap testJonathan Maw2018-01-251-1/+0
|
* Add explicit error handling for ElementErrors that happen as a result of ↵Jonathan Maw2018-01-252-13/+20
| | | | staging artifacts
* element: Handle overlaps with a whitelist and option to raise errorsJonathan Maw2018-01-252-3/+49
| | | | | | | | | * Adds the 'overlap-whitelist' field to elements' public data. This is a list of globs that match files that the element is allowed to overlap other elements with. * Adds the project-wide 'fail-on-overlaps' field. If set, non-whitelisted overlaps will raise an error instead of printing a warning.