1. 04 Apr, 2019 1 commit
  2. 03 Apr, 2019 1 commit
  3. 29 Mar, 2019 2 commits
  4. 27 Mar, 2019 1 commit
  5. 15 Mar, 2019 1 commit
    • Angelos Evripiotis's avatar
      _project: don't _find_project_dir if a junction · da347932
      Angelos Evripiotis authored
      If we're creating a project for a junction, then don't go looking for
      the project directory - the path has already been given to us.
      This means that we can now detect when junctions are missing a
      'project.conf', and importantly we don't accidentally start resolving
      elements in the enclosing project.
      Add tests to cover workspaced, local, and git repo cases. Note that
      this is also the first test coverage for the INVALID_JUNCTION path.
      In later work we might extract the _find_project_dir magic out of the
      Project class, so that there are no surprises when instantiating it.
  6. 14 Mar, 2019 1 commit
    • Raoul Hidalgo Charman's avatar
      Integrate source cache with rest of buildstream · 6a1e7461
      Raoul Hidalgo Charman authored
      This involve introducing new Consistency states `STAGED` and `BOTH` that
      represent when the source is just in the local CAS and in both the local
      CAS and unstaged in the source directory.
      Sources are staged for each element into the local CAS during the fetch
      stage. If the sources are in the local consistency state `STAGED` when
      wanting to open a workspace, the original sources are fetched.
      Relavant tests this affects have been changed.
      Part of #440
  7. 11 Mar, 2019 1 commit
    • James Ennis's avatar
      _yaml.py: Move node_get_project_path to project.py · 8e9a74d3
      James Ennis authored
      _yaml.node_get_project_path() is currently only used by Project
      and by Plugin. This function has been moved to Project._get_path_from_node()
      and no longers requires a project directory as argument.
  8. 27 Feb, 2019 1 commit
    • Daniel Silverstone's avatar
      _stream.py, _project.py: Manage GC during pipeline load · 746aa7a6
      Daniel Silverstone authored
      Since during pipeline load we are generating a lot of objects
      which need to live for the duration of the BuildStream instance
      there is benefit to disabling GC for the duration of the load since
      that drastically reduces wasted CPU cycles iterating data which
      will remain around always.  In order to limit the increase in
      the peak memory consumption though, we do an explicit gc.collect()
      after loading the YAML in, since without that, we use 60% more
      memory at peak, and with it, only 20%.
      Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.UK.
  9. 13 Feb, 2019 2 commits
  10. 12 Feb, 2019 1 commit
    • Jonathan Maw's avatar
      Remove cleanup functionality from loader · f1e9cb66
      Jonathan Maw authored
      Since junction check-outs are now persistent, there is no need to clean
      up temporary directories once finished.
      Now, junction checkouts are stored within the top-level project dir and
      will be cleaned-up when that directory is removed.
      This involves changes in:
      * loader.py: Remove cleanup logic and passing-around of tmpdir.
      * _project.py: Remove passing around tmpdir and calling loader's
  11. 08 Feb, 2019 1 commit
  12. 24 Jan, 2019 1 commit
  13. 09 Jan, 2019 1 commit
  14. 20 Dec, 2018 1 commit
    • Angelos Evripiotis's avatar
      _project::_find_project_dir: fix error message · 7368f569
      Angelos Evripiotis authored
      Now that we are also looking for WORKSPACE_PROJECT_FILE, we should add
      it to the error message. While we're there, also mention the directory
      we are looking in - this could help scripters be clear about what went
      The new error message looks like this:
          Error loading project: None of ['project.conf', '.bstproject.yaml']
          found in '/src/temp/blah' or any of its parent directories
  15. 11 Dec, 2018 2 commits
  16. 06 Dec, 2018 1 commit
  17. 30 Nov, 2018 1 commit
  18. 27 Nov, 2018 1 commit
  19. 12 Nov, 2018 1 commit
  20. 05 Nov, 2018 4 commits
  21. 18 Oct, 2018 1 commit
  22. 27 Sep, 2018 1 commit
  23. 18 Sep, 2018 2 commits
  24. 07 Sep, 2018 1 commit
  25. 31 Aug, 2018 1 commit
  26. 30 Aug, 2018 1 commit
    • Tom Pollard's avatar
      buildstream/_project.py: Report if project.conf is missing name · 18d0bfb4
      Tom Pollard authored
      Explicitly check that project.conf contains a name. This resolves
      the issue of the provenance check from _yaml.py incorrectly reporting
      the offending file as the default_config_node projectconfig.yaml
      when no name key exists in the pre_config_node dict.
  27. 21 Aug, 2018 1 commit
  28. 15 Aug, 2018 1 commit
    • Qinusty's avatar
      _project.py: Add fatal-warnings configuration item · f3d58233
      Qinusty authored
      This allows for users to configure fatal-warnings to be either a list of
      This commit deprecates the use of fail-on-overlap within project.conf,
      this will now use the fatal-warnings configuration item.
      element.py: Cache key calculation now takes into account all of the
      tests: This modifys the tests/frontend/overlaps.py tests to support the
      new fatal-warnings configuration. Backwards compatibility is also
      tested for `fail-on-overlap`
      _versions.py: BST_FORMAT_VERSION bumped to 15 for fatal-warnings
      	      BST_CORE_ARTIFACT_VERSION bumpted to 5 for fatal-warnings
      Fixes: #526
  29. 09 Aug, 2018 2 commits
  30. 02 Aug, 2018 3 commits