You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by ch...@apache.org on 2021/01/14 23:46:52 UTC
[buildstream] branch chandan/test updated (4a86e5d -> eae7bd3)
This is an automated email from the ASF dual-hosted git repository.
chandan pushed a change to branch chandan/test
in repository https://gitbox.apache.org/repos/asf/buildstream.git.
discard 4a86e5d TEST
add 3641578 buildstream/utils.py: Fix parameter types for calendar.timegm
add 419a3af Add initial mypy configuration and types
add 0515227 .gitignore: Add mypy cache directory
add 2568f6f .gitlab-ci.yml: Run mypy for validating changes
add 7dbcf42 Merge branch 'chandan/mypy' into 'master'
add 0139e47 requirements: Update grpcio to 1.23.0
add 088705c cascache.py: Close gRPC channel in release_resources()
add 733cbfa casremote.py: Add close() method to close gRPC channel
add 418c304 _basecache.py: Add release_resources() method
add 6c1f5b9 _context.py: Release artifactcache and sourcecache resources
add 47b4cee _sandboxremote.py: Use context manager for gRPC channels
add 801f26d _sandboxremote.py: Use context manager for CASRemote instances
add 429a9c0 tests/artifactcache: Use context manager for gRPC channels
add 655f11f tests/testutils/http_server.py: Close queue to stop background thread
add d6c667a utils.py: Add _is_single_threaded() method
add df3000b cascache.py: Add has_open_grpc_channels() method
add d13336a _basecache.py: Add has_open_grpc_channels() method
add 7dd41ee _context.py: Add is_fork_allowed() method
add 5545cb4 scheduler.py: Use Context.is_fork_allowed()
add 312f708 _stream.py: Remove disable_fork() calls
add ab56fea _context.py: Remove unused disable_fork() method
add 2ce01da casserver.py: Remove notify_fork_disabled() call
add 0963264 cascache.py: Remove fork_disabled mechanism
add b4823df testing/_forked.py: Update _MAIN_PID for tests running in subprocesses
add 3221f35 tests: Catch tests that don't shut down background threads
add e485a06 Merge branch 'juerg/fork' into 'master'
add 37f32b6 README.rst: Point badge to latest bst 1.x release
add 6cfe9f3 Merge branch 'jjardon/badge' into 'master'
add d2e8672 tests/testutils/http_server.py: Drop queue to avoid lingering thread
add 1568268 Merge branch 'juerg/http-test-server' into 'master'
add 1ec8fbf utils.py: Wait for threads to exit in _is_single_threaded()
add 05136ea Merge branch 'juerg/await-threads' into 'master'
add f8fe824 node.pyx: _SYNTHETIC_FILE_INDEX must not be module-private
add a9364a4 node.pyx: Add _reset_global_state() method
add fa974ab tests: Add autouse fixture to reset global state in node.pyx
add d305c5b Merge branch 'juerg/synthetic-file-index' into 'master'
add 15ae343 Fix typo in node attribute
add 1edb7fc Merge branch 'traveltissues/1118' into 'master'
add 566a6a5 _messenger.py: Don't display subtask information before 3 seconds
add 6b3da94 _loader.py: Cache how many Elements we load
add e91df08 _pipeline.py: Add task progress to resolve_elements()
add db60c52 _pipeline.py: Add task progress to check_remote()
add 5c69b27 Merge branch 'jennis/tasks' into 'master'
add a36ae77 .gitlab-ci.yml: Update docker images for buildbox-casd
add 26e79bf _protos: Update local_cas.proto
add 43a58da cascache.py: Remove unused CACHE_SIZE_FILE
add 878da24 cascache.py: Add cache usage monitoring via buildbox-casd
add 45a177a _frontend/status.py: Readd cache usage to status bar
add d3cb30c Merge branch 'juerg/cache-usage' into 'master'
add 5529b91 cli.py: Allow push to handle artifact refs
add 1cd7a82 _project.py: Don't only load cached artifacts
add cdb698f cli.py: Allow pull to handle artifact refs
add 3513a80 Merge branch 'jennis/update_push_pull' into 'master'
add 6f81827 utils.py: Ensure dest copy directory is writable
add 07e35b3 sources/tar.py: Ensure tar source files are readable
add a0a8015 tests/tar: Add test for unreadable and unwritable content tar source
add ad63e38 tests/workspaces: Test edge case when linking files to RO directory
add 6d01f42 Merge branch 'shashwatdalal/docker-source-patch' into 'master'
add d9e1055 _stream.py: Remove separate handling of ArtifactElements
add f35bf51 cli.py: Clean up dependency scope handling in checkout
add 9a2c889 cli.py: Allow checkout to handle artifact refs
add a60de4b buildcheckout.py: Add tests which checkout artifact deps
add 04c0d41 Merge branch 'jennis/update_checkout' into 'master'
add d69f232 Address no-else-raise pylint warning
add 92fedf8 Merge branch 'jennis/pylint_no_else_raise' into 'master'
add 0b73ddb _basecache.py: Remove references to 'artifacts'
add 412da40 Create BaseRemote base class
add e28db23 Remove cache-specifc spec classes
add e716215 _basecache.py: Refactor the BaseCache a little
add 47a3f93 Allow splitting artifact caches
add 1f9c48b Update documentation to explain split caches
add f402122 Change unfitting function name
add 20a920f Merge branch 'tlater/cache-endpoints' into 'master'
add d2b901f casserver.py: Use show_default for options
add c7f7070 cli.py: remove superfluous kwargs for flags
add 2869a94 Merge branch 'traveltissues/1110' into 'master'
add e73d35b _frontend/status.py: Fix non-formatted terminator
add 7cc448b Merge branch 'coldtom/fix-status-job-render' into 'master'
add e30026c Update all python dependencies
add 5c6a5cc Merge branch 'jennis/update_python_deps' into 'master'
add d7dca0d cascache.py: Remove unused pull() and push() methods
add 0fac0b4 casremote.py: Limit request size for batch download and upload
add 1fc5515 Add tests/frontend/large_directory.py
add a200338 Merge branch 'juerg/casd' into 'master'
add 5636535 scheduler.py: Introduce a notification queue for stream interaction
add be757fa scheduler.py: Move elapsed_time() to shared State()
add 0c58302 scheduler.py: Notification for sched loop running status
add 7c2014a scheduler.py: Notification for sched terminated status
add e3567e1 scheduler.py: Notifications for sched suspending
add 1e1e7ba scheduler.py: Notification for sched suspended status
add aaa104b scheduler.py: Notification for interactive failure retry
add a97af8e scheduler.py: Notification for Message() propagation
add 826e12a Merge branch 'tpollard/notificationhandler' into 'master'
add 3695316 Fix typo in pipeline msg detail
add 3db8f6e Merge branch 'traveltissues/typo' into 'master'
add bd34923 _message.py: Use bool for sandbox Message() parameter
add 34d5013 Merge branch 'tpollard/sandboxmessage' into 'master'
add e4d2b49 Check result is not None in tracking queue done()
add 8261dfa Merge branch 'traveltissues/none-childdata' into 'master'
add 505316c cascache.py: Fix cache usage monitor on Python older than 3.7
add 408414e tests/artifactcache/expiry.py: Add test for cache usage monitor
add 3eedd7a Merge branch 'juerg/cache-usage' into 'master'
add 108a38e Prepare NEWS for 1.3.1.dev1 release
add f05be95 _context.py: Add 'dependencies' option to 'build' user config
add 3a263bb tests/remoteexecution/partial.py: Test building all dependencies
add 38c6209 Merge branch 'build-all-option' into 'master'
add e27dffd Fail if we try to build a BST_FORMAT_VERSION we do not support anymore
add 093d7a5 Merge branch 'jjardon/BST_FORMAT_VERSION' into 'master'
add d619920 Use distutils plugin from bst-plugins-experimental
add 7ec6190 Merge branch 'jjardon/distutils' into 'master'
add 22ff4b3 cli.py: Fix typo in source checkout's doc string
add 344c3e4 source_checkout.py: Remove commented out touch() and add comment
add eeb0f3c _stream.py: Add doc comment to _export_artifacts()
add 11e9934 _stream.py: Include all args in doc comment of source_checkout()
add 6cb668a cli.py: Make source checkout more consistent with artifact checkout
add c8a06a4 source_checkout.py: Add test for --tar/--directory conflict
add b56c85b _stream.py: Handle tar compression mode in separate function
add 5472d41 cli.py: Add --compression option to source checkout
add f047495 source_checkout.py: Add --compression tests for source checkout
add 902c767 _stream.py: Inform user of source checkout location
add 717b343 NEWS: Amend source checkout NEWS entries
add f1b20df Merge branch 'jennis/update_source_checkout' into 'master'
add 291204b NEWS: Move note about YAML cache next to note about YAML API
add 434c266 NEWS: Try to use past tense consistently
add c30993e Merge branch 'chandan/fix-news' into 'master'
add 5a778ca cli.py: Allow checkout to handle --deps all
add a657479 Merge branch 'jennis/add_deps_all_to_checkout' into 'master'
add 25b3f70 _stream.py: Load the appropriate PipelineSelection in checkout
add 9996502 Merge branch 'jennis/load_deps_consistently' into 'master'
add 2b54ff7 CONTRIBUTING.rst: Split up CONTRIBUTING into smaller files
add 0e9a279 using_the_testsuite.rst: Rename title to be more descriptive
add 585875a writing_documentation.rst: Rename title to be more descriptive
add 10acf4d grpc_protocol.rst: Rename title to be more descriptive
add a49f429 coding_guidelines.rst: Fix typo in frobiliciously
add b89d126 coding_guidelines.rst: Inline comments require 2 whitespaces
add 766c6c8 Merge branch 'jennis/split_contributing' into 'master'
add 8ff9262 filter.py: Allow passing integration commands
add b2af82a filter.py: Fail if parent element is a stack
add 4e63710 element.py: Abstract not producing artifacts
add e019f2f tests/integration: Add test for filter element
add 2c4708c Merge branch 'coldtom/filter-element-improvements' into 'master'
add 86e022d using_commands.rst: Add show and list-contents
add 4d9b595 using_commands.rst: Add internal X-references
add 163a475 CONTRIBUTING.rst: Add UI section
add 8418b56 Merge branch 'jennis/frontend_documentation' into 'master'
add 6ad1761 tests/testutils/artifactshare.py: Add SIGTERM handler to subprocess
add d06fd33 Merge branch 'juerg/artifactshare' into 'master'
add 08de3b1 _artifactcache.py: Create ArtifactServiceStub in _configure_protocols()
add e555cc2 _artifactcache.py: Move capabilities check to _check() and extend it
add 9453a01 _sourcecache.py: Move capabilities check to _check() and extend it
add b7578dd casremote.py: Drop Status request
add 1fad0d3 .gitlab-ci.yml: Update docker images for buildbox-casd
add 62bda10 cascache.py: Create CAS stub for buildbox-casd channel
add 6bac764 cascache.py: Use casd in remote_missing_blobs()
add 1a9749c casremote.py: Do not directly communicate with CAS server
add fadbf67 casremote.py: Add missing copyright header
add 78880af _remote.py: Remove unused bytestream
add fc0136c Merge branch 'juerg/casd' into 'master'
add 80fdd0a tests: Add some missing integration marks
add bc2acf7 Merge branch 'coldtom/mark-filter-test-integration' into 'master'
add 3247014 cascache.py: Create `CASCache.close_channel()`
add a8ca9fc workspace.py: add workspace source plugin
add e25da03 Support loading 'workspace'-kind sources
add b9e2af2 element.py: always check sources for caching
add b994516 Remove workspace mounting for sandboxes
add c9d1de5 loader.py: Remove workspace handling in element collection
add bde0c6f import.py: assemble the element via `stage_sources`
add 3bab0b7 tests: Remove xfails from buildbox integration tests
add 2e87ff1 tests: Remove xfails from buildbox integration tests
add 45fee28 Merge branch 'traveltissues/985' into 'master'
add 873af0d _context.py: Remove duplicated log_message_lines assign
add 7491b7c Merge branch 'tpollard/duplicated_messagelines' into 'master'
add 7c98655 NEWS: Fix current snapshot version
add e3a4e7b NEWS: add section for unreleased items
add 1db7753 Merge branch 'chandan/fixup-news' into 'master'
add 23c66d2 .gitlab-ci.yml: Update docker images for buildbox-casd
add 4c57dc0 cascache.py: Add import_directory() method
add aec623e _casbaseddirectory.py: Use CASCache.import_directory()
add 7d050fa Merge branch 'juerg/capture-tree' into 'master'
add 9cb1ad2 Do not check for casd in bash completion
add dbc8f59 Merge branch 'tlater/fix-casdless-completion' into 'master'
add ba60565 cascache.py: Extract buildbox-casd termination in its own method
add 2adad87 cascache.py: Send message in case of unclean termination of buildbox-casd
add 9f453bb Merge branch 'bschubert/ensure-buildbox-alive' into 'master'
add 7deb200 .gitlab-ci.yml: Use latest fdsdk patches and bst-plugins-experimental
add f47c0ab Merge branch 'jjardon/overnigth_bst2' into 'master'
add 99b0117 .gitlab-ci.yml: overnigth tests need buildbox-casd
add 645496b Merge branch 'jjardon/overnigth_casd' into 'master'
add ebfa7d5 Revert ".gitlab-ci.yml: overnigth tests need buildbox-casd"
add 764a7cf Merge branch 'jjardon/overnigth_casd_already' into 'master'
add 0c8861e cascache.py: Save casd logs in a file for retrieval
add 739cba7 cascache.py: Show path to log file when buildbox-casd doesn't exit normally
add 56432ba Merge branch 'bschubert/casd-logs' into 'master'
add f85b8b6 _scheduler/jobs/job.py: sort imports
add 2516668 Merge branch 'aevri/job_sort_imports' into 'master'
add 2b9e6f5 cascache.py: Block SIGINT in the buildbox-casd process
add 5615bb4 cascache.py: Block SIGINT in the CasUsageMonitor process
add f886d33 Merge branch 'bschubert/casd-sigint' into 'master'
add 1b0d05a element.py: remove concept of key instability
add 06206c3 element.py: remove call to _source_cached()
add a57f27e Merge branch 'traveltissues/benchmark' into 'master'
add 526bc54 tox.ini: Add bst-plugins-experimental to docs deps
add 390d038 Update doc commands to use 'source fetch'
add 5b50c67 Update doc commands to use 'artifact checkout'
add 9405b6d doc/sessions/junctions.run: Fix typo in 'remove-dir' option
add 226e33d doc/bst2html.py: Error out if bst command in doc fails
add e72a8c2 doc/Makefile: exit 1 if running bst command fails
add d67c70c Merge branch 'chiaratolentino/fix-docs' into 'master'
add ce4883b cascache.py: add a 'log_level' parameter and use it to run buildbox-casd
add d7b78ed Merge branch 'bschubert/propagate-log-level-to-casd' into 'master'
add 4a2b573 cli.py: no fcntl on Windows
add d913e5c Merge branch 'aevri/no_win32_fcntl' into 'master'
add 7f00500 setup.cfg: Fix xdg env vars to not affect the host
add 97cd51d Merge branch 'bschubert/fix-xdg-temppaths' into 'master'
add 3d94586 Defer committing workspace files to cache
add 31b2311 Merge branch 'traveltissues/1159' into 'master'
add 3079bb9 tests/frontend/buildcheckout.py: Create required symlinks on the fly
add d268ff6 Merge branch 'bschubert/fix-windows-symlink' into 'master'
add 5ea011c _scheduler.py: Listen for buildbox-casd failure and terminate
add d390fd6 Merge branch 'bschubert/casd-listen-failures' into 'master'
add 78f05bb _artifactcache.py: Don't push artifact blobs when no files are present
add 99e0236 Merge branch 'bschubert/fix-empty-buildtree' into 'master'
add b5aae0b .gitlab-ci.yml: Bump versions for overnight tests
add 4c0bb34 Merge branch 'bschubert/fix-overnight' into 'master'
add b592cb8 _fuse/mount.py: Monitor the fuse process while waiting for the mount
add 372bcab Merge branch 'bschubert/fuse-permissions' into 'master'
add 64e2fde tests: unmark tests passing with buildbox
add b7ab65e setup.cfg: make xfail marks strict by default
add e31b22a Merge branch 'traveltissues/strictxfail' into 'master'
add c6b3559 tests/sourcecache/fetch.py: Extract logic to move local cas to remote
add 16cab3a tests/sourcecache/fetch.py: Don't hardcode the element name
add ca3be36 tests/sourcecache/fetch.py: Extract element's creation to a function
add d71b808 tests/sourcecache/fetch.py: Extract configuration of bst
add 276cfa6 _sourcecache: Fallback to fetch source when remote has missing blobs
add 28803a9 Merge branch 'bschubert/partial-source-cache' into 'master'
add acf99b7 loader.py: Avoid loading deps of junction metaelements
add 17144d8 testutils/context.py: Mock tasks instead of accepting Nones
add 87110d6 Remove XXX comment about missing progress
add bcbd180 Improve progress tests
add 6c6c581 Merge branch 'tlater/progress-tests' into 'master'
add ea7c7bc win32: _platform/win32: add support for win32
add 13d9ab5 Merge branch 'aevri/platform_win32' into 'master'
add 66031ea _artifactcache.py: Reset artifact_service in ArtifactRemote.close()
add de55568 _sourcecache.py: Reset source_service in SourceRemote.close()
add 4be5a13 _remote.py: Reset _initialized in close()
add 9e1b956 cascache.py: Reset _casd_cas in close_channel()
add 3578f92 cascache.py: Rename close_channel() to close_grpc_channels()
add 8a5e9c6 _basecache.py: Add close_grpc_channels() method
add bbc6748 scheduler.py: Call is_fork_allowed() right before spawning jobs
add 64a5f4a _context.py: Replace is_fork_allowed() with prepare_fork()
add d0a06b0 _remote.py: Do not use subprocess to check remote
add 0d0dc00 workspace.py: Do not close gRPC channels
add 1d4703b Merge branch 'juerg/prepare-fork' into 'master'
add 67a1ec4 testing/.../site: windows-friendly HAVE_OLD_GIT
add c6a7f43 Merge branch 'aevri/oldgit' into 'master'
add 1b92d90 element.py: change 'substitute_variables' to take a 'ScalarNode' and rename
add 0cc5380 _options/option.py: Pass the node instead of the str to 'transform'
add b07ca0c element.py: Remove '_subst_string'
add f0c928e element.py: remove 'node_subst_member' and replace with 'node_susbst_vars'
add abc522c element.py: Rework 'node_subst_list' to take the sequence directly
add 1a7582c node.pyx: Make 'strip_node_info' public
add 0953d36 NEWS: add info about new YAML breaking changes
add 3ab6c57 Merge branch 'bschubert/yaml-tidying' into 'master'
add 4e197f4 NEWS: update release notes for version 1.91.1
add f6e24e2 Merge branch 'bschubert/1.91.1' into 'master'
add cc2ee79 workspace.py: raise AssertionError on init_workspace
add 4fce5b1 _basecache.py: early return if remotes are setup
add 1eedab4 Use workspace_close and workspace_open to reset workspaces
add 84c1fbb tests: add test for soft workspace reset
add 9147994 Merge branch 'traveltissues/1140-softreset' into 'master'
add 7153957 tox.ini: pin mypy 0.730
add 67f9de2 Merge branch 'traveltissues/1172' into 'master'
add 43288a7 Remove special loading for workspaces
add 32c0ca3 Merge branch 'traveltissues/notes' into 'master'
add 84e929d .gitlab-ci.yml: Update bst-plugins-experimental version
add 588d7b7 Merge branch 'bschubert/bump-bst-experimental-version' into 'master'
add a05e246 element.py: remove unused variable
add d7d4429 Merge branch 'traveltissues/fix' into 'master'
add daf0bcf tox.ini: pass through BST_FORCE_START_METHOD
add 702ddda tests/conftest: implement BST_FORCE_START_METHOD
add 11cd082 cli: BST_FORCE_START_METHOD only sets if necessary
add ac8ce60 .gitlab-ci.yml: disable most spawn tests
add 56f7cf1 Merge branch 'aevri/enable_spawn_ci' into 'master'
add 5a5cbfa jobpickler: also pickle DigestProto
add 28852bb gitlab: spawn tests, enable internals, sourcecache
add 27d3c61 Merge branch 'aevri/enable_spawn_ci_2' into 'master'
add 9c2bbe3 cascache.py: instantiate usage monitor early
add 735b005 Merge branch 'traveltissues/1176' into 'master'
add f4503d1 setup.cfg: Register mark for pytest-datafiles
add aadd675 Merge branch 'chandan/register-pytest-mark' into 'master'
add 304449a tests: remove mark.in_subprocess
add d1077b6 cascache: don't need create_cas_usage_monitor now
add 5de5a1c cascache: don't pickle _cache_usage_monitor
add 422718f Merge branch 'aevri/no_mark_run_in_subprocess' into 'master'
add 349c389 tests/sources/keytest: Ensure element state is updated as expected
add c5c29c9 Merge branch 'chandan/fix-source-key-test' into 'master'
add db91f5f Prepare NEWS for 1.91.2 snapshot release
add 44e8e25 Merge branch 'chandan/release-1.91.2' into 'master'
add 485f553 element: remove double MetaSource import
add 04e1c53 job pickling: plugins don't return their factories
add a125bc0 job pickling: pickle first_pass_config factories
add 299ed94 .gitlab-ci: test-spawn, enable tests/format/*
add 732f474 Merge branch 'aevri/enable_spawn_ci_3' into 'master'
add 9733bef _frontend/status.py: Complete names when rendering dynamic queue status
add 443b408 Merge branch 'tpollard/render_task_group' into 'master'
add 798cac7 format_project.rst: De-obfuscate element/package differences
add 918f07c Merge branch 'tlater/plugin-documentation-improvement' into 'master'
add 0c295ce .pylintrc: Add ujson to extension-pkg-whitelist
add bc6bffe Merge branch 'chandan/pylint-c-extension-ujson' into 'master'
add a274fb0 conftest: more useful multiprocessing print
add 5f48e8a job pickling: also pickle global state in node.pyx
add d16c1f3 _scheduler/jobs: mv pickle details into jobpickler
add bd5e246 testing, messenger: make dummy_context picklable
add 0209c67 testing/runcli: node._reset_global_state on run
add f3a3d36 gitlab-ci: tests-spawn, enable tests/elements
add 8b5905b Merge branch 'aevri/enable_spawn_ci_5' into 'master'
add 252adc3 _fuse/mount: make mount() and unmount() private
add 29099c3 Merge branch 'aevri/fuse_mount_private' into 'master'
add dca1d0a Remove unnecessary parameter in Source._get_unique_key
add bffc040 source.py: Add BST_NO_PRESTAGE_KEY
add 66461f4 workspace.py: use the extended source api
add 8c999a3 tests: check that workspaces only call _stage once
add e49274a element.py: inline local function
add b447e9f source.py: _get_unique_key in _track
add 253ef13 local.py: use extended API, set BST_NO_PRESTAGE_KEY
add e0e2099 Merge branch 'traveltissues/1161' into 'master'
add c879470 _plugincontext: stable ids for better pickling
add f3922f4 tests/.../missing_dependencies: include git
add 76c2bac .gitlab-ci: tests-spawn, most non-integration ok
add 54720db Merge branch 'aevri/enable_spawn_ci_5a' into 'master'
add 4a75383 Add tests that the basic functionality of buildstream works in win32
add 5c2fe47 Merge branch 'jonathan/win32_ci' into 'master'
add 9ae7b67 buildgrid-compose.yml: reduce log level to WARN
add 2bb3dc1 Merge branch 'traveltissues/1184' into 'master'
add 22483d0 _gitsourcebase.py: Return 'None' when the ref is unset
add 66045d9 Merge branch 'bschubert/fix-git-ref' into 'master'
add 576be1f frontend: Remove tracking options from `bst build`
add 230815d NEWS: Announce removal of tracking options from `bst build`
add 9765eba Regenerate man pages after removal of `--track*` from `bst build`
add 101a0d9 Merge branch 'chandan/remove-build-track' into 'master'
add 4f45bc6 .gitlab-ci.yml: Update docker images for buildbox-casd 0.0.4
add 1993ff0 Merge branch 'juerg/casd' into 'master'
add cf2439d Replace BST_NO_PRESTAGE_KEY with BST_KEY_REQUIRES_STAGE
add 2dd9f37 NEWS: add note about BST_KEY_REQUIRES_STAGE
add abd09a9 Merge branch 'traveltissues/changeflag' into 'master'
add af9e54a cascache.py: Defer attempt to connect to casd until socket file exists
add 9f71313 Merge branch 'juerg/casd-connect' into 'master'
add a838b42 fix broken user guide link in README.rst
add 4c623c0 Merge branch 'link_fix' into 'master'
add 601a06d element.py: Avoid redundant SourceCache.contains() calls
add 336fef9 cascache.py: Always update mtime in contains_directory()
add 52cead2 cascache.py: Reimplement contains_directory() with FetchTree()
add 82b4313 Merge branch 'juerg/fetch-tree' into 'master'
add 4ec1b73 testutils/artifactshare: don't hang on error
add d938b0c tests/artifactshare: safer cleanup_on_sigterm use
add 247f375 Merge branch 'aevri/testutils_artifactshare' into 'master'
add 8fe7d26 _context.py: Improve reporting of incorrect user config
add c70b64b Merge branch 'bschubert/better-reporting-on-userconfig' into 'master'
add e1abc20 Remove `commit`ting sources inside `Source()._generate_key`
add 602cf41 Merge branch 'traveltissues/1182' into 'master'
add 2245af2 Remove unnecessary ignore_workspaces kwarg
add e3a8059 _stream: correct typo in error message
add a283f02 Merge branch 'traveltissues/closeworkspaces' into 'master'
add 5e0d8d5 app.py: Also catch SystemError with click.Abort
add a6c9c52 Merge branch 'bschubert/fix-children-termination' into 'master'
add 02d7348 plugins/elements/stack: Disallow sources
add b20ea08 Merge branch 'chandan/stack-no-sources' into 'master'
add 0e6a85d _remote.py: Expand user in certificates paths
add e0ec803 Merge branch 'bschubert/expand-path-configs' into 'master'
add c76c918 Add _is_trackable() method to Source()
add 4d3f0ca _stream: Remove exception case for removed option
add b327003 Merge branch 'traveltissues/1186-3' into 'master'
add 068a51b _sandboxbwrap.py: Create /dev/shm in the sandbox
add 054375f Merge branch 'coldtom/allow-dev-shm' into 'master'
add e6c0686 Indicate that compose & stack plugins do not run commands
add 4001b46 Merge branch 'chandan/no-command-general-elements' into 'master'
add 278d010 scheduler.py: Prevent the asyncio loop from leaking into subprocesses
add 3d1fb3b scheduler.py: Remove FIXME message and add explanation instead
add 74fa253 Merge branch 'bschubert/fix-children-termination' into 'master'
add 1d08b51 _sandboxremote.py: Ensure working directory exists
add d10efb6 _sandboxremote.py: Send command and action together with the other blobs
add 9f2d611 _sandboxremote.py: Simplify exit code return
add 6ea91a7 _sandboxremote.py: Extract _execute_action() method from _run()
add a3a7b33 _sandboxremote.py: Fetch outputs in _execute_action()
add afaff94 sandbox: Add abstract SandboxREAPI class
add d7af08d sandbox: Move _run() from SandboxRemote to SandboxREAPI
add 611973f sandbox: Move SandboxRemoteBatch to SandboxREAPI
add bc9dff6 Merge branch 'juerg/sandbox-reapi' into 'master'
add 7b6847c tests/frontend/completions: Fix implicit string concatenation
add 149c2c2 Merge branch 'chandan/fix-implicit-string-concat' into 'master'
add 104cfe2 _frontend: Simplify color handling
add d51a510 Merge branch 'chandan/fix-no-color' into 'master'
add 7c470b4 _remote: Ensure checks done in the subclasses are propagated
add 2e585ac _sourcecache.py: Fix reporting of capabilities for the source cache
add e42e482 Merge branch 'bschubert/fix-capa-check' into 'master'
add 0f6d797 Pass color setting to Status
add d74b8f8 Merge branch 'traveltissues/1204' into 'master'
add 60b72f2 src/buildstream: Remove unused imports
add 2204032 src/buildstream: Fix/silence attribute-defined-outside-init
add 11e5099 src/buildstream: Fix pylint warning 'arguments-differ'
add 4058174 tox.ini: Fix pylint configuration
add baff350 Merge branch 'chandan/pylint' into 'master'
add eae8bd1 job.py: Don't use 'terminate_wait', as it uses waitpid()
add 928d66b job.py: handle SIGTERM gracefully
add d20f90b job.py: Gracefully handle killed subprocesses
add ecc1f60 scheduler.py: Extract timeout to kill as a global variable
add c3eee61 Merge branch 'bschubert/graceful-children-sigterm' into 'master'
add b6ff02a _profile.py: Raise exception if invalid BST_PROFILE topics
add 10a5b9f Merge branch 'tpollard/profileerror' into 'master'
add e7d7c1f Add configuration to run Black
add efbe908 .pylintrc: Disable formatting messages
add 703cfe5 Remove pycodestyle
add a3ee349 .gitlab-ci.yml: Check code formatting as part of CI
add 1221771 Reformat code using Black
add 91c6bb6 doc/source/hacking: Remove pycodestyle, add Black
add 6130ea6 Start linting doc/source/conf.py
add 0eac842 Merge branch 'chandan/black' into 'master'
add d33e106 _stream: Force workspace removal
add a686cd0 Merge branch 'traveltissues/1171' into 'master'
add 69ba951 cascache.py: Use a shebang that won't fail on /bin/bash-less systems
add b653029 Merge branch 'tlater/fix-test-env' into 'master'
add 6c4363e plugins/sources/deb: Re-enable import check for arpy
add 516833f Merge branch 'chandan/re-enable-import-check' into 'master'
add 1514119 element.py: Refactor `_schedule_assemble`
add 14146c2 element.py: Remove workspace-specific code
add f5a23b8 Only run `element.__update_source_state` when necessary
add 2a2c140 Create _initialize_state() to capture an _update_state() use case
add 6a9bc8a element.py: Only run `element.__update_cache_keys` when necessary
add ec4dea5 element.py: Only `element.__update_artifact_state` when necessary
add 6bcaf12 element.py: Only run `_schedule_assemble()` when necessary
add b9ccb45 element.py: Remove `_update_state()`
add 1edc877 element.py: Make ex-_update_state() components private
add f9d20e4 element.py: Reduce calls to __update_cache_key_non_strict
add d3fb0b9 element.py: Refactor __update_strict_cache_key_of_rdeps()
add 764ab58 element.py: Refactor __update_ready_for_runtime()
add 26670d5 Merge branch 'tlater/annihilate_update_state' into 'master'
add 64839c9 Improve help message for workspace soft-reset
add 497ded2 Merge branch 'traveltissues/1170' into 'master'
add a573cce doc/examples/flatpak-autotools: remove references to sdk.gnome.org
add 9bf0eae Merge branch 'abderrahim/no-sdk-gnome-org-2' into 'master'
add 72d3f70 .gitlab-ci.yml: Track new version of freedesktop-sdk to fix overnigth test
add 8ae2f7d Merge branch 'jjardon/fix-overnight' into 'master'
add cc5b8e8 Remove all `--track` options
add 14e32a3 Schedule elements instead of "requiring" them
add aa25f6f Simplify queue management
add 358727c Remove early skipping of already-fetched sources
add 176338b Fix stacktraces during element loading
add 6c904a3 Remove `Element._schedule_tracking()`
add f3e1d23 _stream.py: Refactor `Stream._load()` a little
add 229b9ba Merge branch 'tlater/track-cleanup' into 'master'
add 742e682 WIP: Use fedora31 instead older versions
add 37d761f Merge branch 'jjardon/fedora-31' into 'master'
add 6217fdb .gitlab-ci.yml: Use Debian9 instead Debian10
add cdf15d0 Merge branch 'jjardon/debian-10' into 'master'
add 4694dfa cascache: extract CASDProcess in new module
add 12de92f CASDProcessManager: 'release_resources' convention
add 44c9f09 Extract casd_channel logic to CASDChannel
add 95ee348 cascache: _CASCacheUsageMonitor has channel
add e913a8a CASCache: comment on need for __getstate__
add 315a3df CASDChannel: don't need to call GetCapabilities
add 9aa48dd Merge branch 'aevri/casdprocessmanager' into 'master'
add 294dac7 .gitlab-ci.yml: USe gitlab's builtin License Compliance analyzer
add 2201f6d Merge branch 'jjardon/license_compliance' into 'master'
add 7039a51 .gitlab-ci.yml: Use gitlab's builtin Static Application Security Testing (SAST)
add c6e2ea9 Merge branch 'jjardon/sast' into 'master'
add f439c47 utils.py: Add get_umask() method
add e7ff106 utils.py: Respect umask in save_file_atomic()
add fb52fec utils.py: Respect umask in _tempdir()
add 456e942 element.py: Make build directory a proper utils._tempdir
add 470efb7 tar.py: Make directories with incorrect permissions traversable
add 2762c93 tar.py: Respect umask
add 18f8e38 testing/integration.py: Respect umask for the integration cache
add e516e1c Merge branch 'juerg/umask' into 'master'
add a928661 _stream.py: Remove dead code and comments about tracking
add 9fb534c Merge branch 'bschubert/track-cleanup' into 'master'
add 2222d0a .gitlab-ci.yml: define repo language as python
add d96de06 Merge branch 'traveltissues/tmp' into 'master'
add 393a0c6 tests: enable incremental workspace config test
add 23c0e68 Merge branch 'traveltissues/incrementaltest' into 'master'
add 3c093d1 compose: Allow compose elements to run integration commands
add 4645869 Merge branch 'valentindavid/compose-integration-commands' into 'master'
add 7a3866a element: always prepare sandboxes
add 267ea27 Do not load the workspace.last_successful as the workspace plugin ref
add 41dc004 Clear last_successful for soft-reset of Workspace
add 4fbdf61 tests: Allow strict contents in assert_contains
add b511cfe tests: non-incremental RE builds for workspaces
add 990dd02 Merge branch 'traveltissues/mr3' into 'master'
add 75a8560 tests/frontend: Refactor tests for default targets
add 5c54a55 Merge branch 'chandan/refactor-default-target' into 'master'
add 3a03fe6 sandbox.py: Assert that the working directory is an absolute path
add 5dedeb8 _sandboxreapi.py: Fix Command.working_directory
add 364a316 _sandboxreapi.py: Check that command exists
add ba2aba8 _sandboxreapi.py: Ensure /dev, /proc and /tmp exist in sandbox
add 85a29b4 Merge branch 'juerg/sandbox-reapi' into 'master'
add 8d27cf5 doc: Add glossary of common terms
add 205de65 Merge branch 'chandan/glossary' into 'master'
add 96b3975 doc/coding_guidelines: Drop section about line lengths
add 05aaf3e Merge branch 'chandan/hacking/drop-line-length' into 'master'
add 069b110 lint: Remove unnecessary list comprehensions
add 1064374 lint: remove all unecessary elif/else after break/continue
add e4ed02f tests: Use pytest.raise() instead of checking for return code
add ff6f6d0 Update all python dependencies
add f9d0655 Merge branch 'bschubert/update-requirements' into 'master'
add 3d05be2 update_commiters.py: Fix security vulnerabilities
add c35a8eb Merge branch 'tlater/fix-update-committer-security' into 'master'
add cefbcd0 casserver.py: Add logging
add e660e09 casserver.py: Proxy CAS requests to buildbox-casd
add 320b3f2 Remove newly unused API surfaces in CASCache
add 845a2fd _*cache.py: Standardize cache basedirs
add 476a539 Merge branch 'tlater/artifactserver-casd' into 'master'
add f553fc8 casdprocessmanager.py: Set up socket path via a symlink
add 27ec82e utils.py: safe_link(): Copy if hardlink creation is not permitted
add ae63515 testing/_utils/site.py: Add CASD_SEPARATE_USER variable
add b10a1cf tests/frontend/buildcheckout.py: Cannot hardlink with CASD_SEPARATE_USER
add 485fac0 tests/frontend/pull.py: Do not use checkout --hardlinks
add 1f124cf tests/integration/filter.py: Do not use checkout --hardlinks
add e090301 tests: source_determinism.py: Do not use too restrictive test umasks
add 072e329 Merge branch 'juerg/casd-separate-user' into 'master'
add 770bc27 .gitlab-ci.yml: List all test envs explicitely for tox
add 1d78956 .gitlab-ci.yml: Extract docker images version in a variable
add 45b1486 .gitlab-ci.yml: Don't overwrite sast job directly, just inject variable
add 0189c00 Merge branch 'bschubert/ci-improvements' into 'master'
add 6cdc8f3 testing/runcli.py: Remove unused configure parameter from run() methods
add 44e0718 Merge branch 'juerg/runcli-unused-parameter' into 'master'
add 4d486b6 _casbaseddirectory.py: Add _reset() method
add 7bbcf7f _sandboxreapi.py: Use CasBasedDirectory._reset()
add 460268b sandbox.py: Remove unused _set_virtual_directory() method
add 30e4a7d Merge branch 'juerg/cas-directory-reset' into 'master'
add b037501 requirements: Add pexpect for running interactive tests
add 23423f6 Add tests for interactive `bst init`
add 6f621b6 Add tests for failed build in interactive mode
add e5f9cc4 Merge branch 'chandan/interactive-tests' into 'master'
add bf2ed58 MANIFEST.in: Minor fixups and improvements
add 454ed33 Merge branch 'chandan/fix-manifest' into 'master'
add a1bd91b scheduler.py: Optimize scheduling by not calling it unnecessarily
add 0e4cbd5 Merge branch 'bschubert/optimize-scheduling' into 'master'
add 3b91d1b job.py: Remove '_watcher' attribute, it is not needed
add 1c08141 job.py: Only start new jobs in a `with watcher:` block
add ffa39d2 scheduler.py: Only run thread-safe code in callbacks from watchers
add f47bc0d Merge branch 'bschubert/stricter-asyncio-handling' into 'master'
add 5a67974 element: Remove unused method (__reset_cache_data)
add 750aa60 element: remove _is_required()/__required
add eb6c760 _workspaces: remove invalidate_key()
add babb70f _workspaces: remove get_key()
add 85c393f _basecache: remove has_open_grpc_channels()
add e08785a _artifactcache: remove get_artifact_logs()
add 2c8a2dd _artifactcache: remove _reachable_directories()
add 8a70ab0 _artifactcache: remove _reachable_digests()
add 681e10b cascache: remove update_tree_mtime()
add dbe0b4d casserver: remove ArtifactStatus()
add 4dc3022 casserver: remove _digest_from_*_resource_name()
add 21ddcf2 _context: remove set_artifact_directories_optional()
add 16d2d42 _pipeline: remove targets_include()
add dc7a409 _pipeline: remove subtract_elements()
add fdab453 _project: remove create_artifact_element()
add 8c63b96 resources: remove [un]register_exclusive_interest()
add 056b882 _profile: ignore unused args
add 88e16b6 _remote: ignore unused args
add 89aecef Merge branch 'traveltissues/remove-unused-functions' into 'master'
add f26e5f8 man/bst-workspace-reset.1: Update workspace re-open help message
add 142ada1 Merge branch 'tlater/update-workspace-manpages' into 'master'
add 6409727 tests/internals/cascache.py: Stop using non-posix shell features
add c39c12e Merge branch '1211-stop-using-non-posix-features-in-small-test-suite-tests-to-avoid-fake-test-failures' into 'master'
add 2d00d27 _project.py: Allow junctions to use parent remote
add 10e4aa7 Add test for junction option interaction
add 393fd2d Merge branch 'coldtom/fix-junction-remotes' into 'master'
add 900b1a1 _sandboxreapi.py: Pass sandbox flags to _execute_action()
add a57347d Add buildbox-run sandbox
add d9274f0 _platform: Support experimental buildbox-run sandbox on all platforms
add dbf933b tests/integration/sandbox.py: Do not limit shm test to bwrap sandbox
add 1e038a9 tests/integration/script.py: Relax error message check
add 83c4a1f tests/integration/script.py: xfail read-only-root for buildbox-run
add b56c7c6 tests/integration/shell.py: xfail bind mount for buildbox-run
add de7aa5b tests/integration/interactive_build.py: xfail logging for buildbox-run
add 05acb43 tests/integration/manual.py: xfail logging for buildbox-run
add f4b9a88 tests/integration/messages.py: xfail logging for buildbox-run
add 9fe6c9e tests/integration/workspace.py: xfail logging for buildbox-run
add 4ad66cd Merge branch 'juerg/buildbox-run' into 'master'
add bb9045a tests/sources/tar.py: Use `utils._force_rmtree` instead of chmod
add 397a8fe Merge branch 'tlater/tar-test-security' into 'master'
add 6c5c271 tox.ini: Add ability to run tests in a randomized order
add 7ca05ba Merge branch 'bschubert/add-randomized-order-tests' into 'master'
add 73c3ab7 tests/integration/interactive_build.py: Increase timeout
add e6bc147 .gitlab-ci.yml: Update docker image
add 039ddeb .gitlab-ci.yml: Add job to test buildbox-run
add 7aed19c .gitlab-ci.yml: Drop buildbox job
add e223bcd Drop buildbox sandbox
add ead0b11 tests: Drop buildbox xfails
add a8fb5cd Merge branch 'juerg/buildbox-run-bubblewrap' into 'master'
add 9d2406e .gitlab-ci.yml: Use latest freedesktop-sdk 19.08.5
add 0b3612a Merge branch 'jjardon/fdsdk-190805' into 'master'
add 9c23ce5 job.py: Replace message queue with pipe
add 2972ae9 Merge branch 'juerg/job-pipe' into 'master'
add 4660a27 element.py: Remove temporary variable
add 7da8a23 element.py: Only cache sources if some had to be fetched
add 2fc5a5c Merge branch 'bschubert/cleanup-element-fetch' into 'master'
add a87ff4f _gitsourcebase.py: Add and update some comments on _GitMirror
add ffceb8b _gitsourcebase.py: Manage submodules recursively
add c97b385 _gitsourcebase.py: Rename and refactor _ignore_submodule
add d48b380 tests/sources/git.py: Add recursive submodule test
add 7fe2bb4 sources/git.py: Document that checkout-submodules is recursive
add 0118773 Merge branch 'tmewett/recursive-git' into 'master'
add b696254 utils.py: Use `onerror` in `_force_rmtree`
add cea7e31 testing/runcli.py: Add BST_CAS_STAGING_ROOT environment variable
add 7ffd9a7 testing/_utils/site.py: Add BUILDBOX_RUN variable
add 0e740fa tests: source_determinism.py: Skip flaky test with buildbox-run
add e1eda90 tests/integration/compose.py: xfail for buildbox-run-userchroot
add aede956 tests/integration/filter.py: xfail for buildbox-run-userchroot
add 2a96cb2 tests/integration/script.py: xfail for buildbox-run-userchroot
add 4fd6dc2 tests/integration/shell.py: xfail for buildbox-run-userchroot
add 2c477a9 .gitlab-ci.yml: Add tests-buildbox-run to coverage
add 5694ddb .gitlab-ci.yml: Update docker image
add 023c595 .gitlab-ci.yml: Add job to test buildbox-run-userchroot
add 3d9ac7c Merge branch 'juerg/buildbox-run-userchroot' into 'master'
add afe759d _platform/platform.py: Add powerpc64 and powerpc64le
add d1d898b Merge branch 'jjardon/powerpc64le' into 'master'
add 2d63e53 setup.cfg: Set pytest default timeout
add 8ec0183 Merge branch 'juerg/pytest-timeout' into 'master'
add 31e577b job.py: Do not call Process.close()
add bb93d63 Merge branch 'juerg/job-process-close' into 'master'
add 8a9e3cb Drop support for `setup.py test`
add 3930c84 Merge branch 'chandan/remote-setuppy-test' into 'master'
add bba4361 _platform/platform.py: Add alias for sun4v
add 0bc77c6 Merge branch 'chandan/platform-sunos' into 'master'
add c28e83d _platform/platform.py: Add alias for IBM AIX 7 powerpc
add 9126e7f Merge branch 'chandan/ibm-7-platform' into 'master'
add e410e86 _casbaseddirectory: remove unused _copy_link_from_filesystem
add dc984ff sandbox: remove unused _callback
add 98d9e06 sandbox: remove unused _issue_warning
add 10d35a0 _sourcecache: remove unused list_sources
add ed047c3 _sourcecache: remove unused _remove_source
add 7636b6b _sourcecache: remove unused _reachable_directories
add ef76f45 _sourcecache: remove unused _update_mtime
add a44c2eb _state: remove unused add_maximum_progress
add 7265eeb Merge branch 'traveltissues/remove-unused' into 'master'
add 2256ba6 setup.cfg: Don't collect tests from src directory
add 08991a2 .gitlab-ci.yml: Add CI job to run tests without `--develop` flag
add 55bf729 Merge branch 'chandan/fix-nocover-tests' into 'master'
add 7fa5ccb .gitlab-ci.yml: Fix command for randomized external tests
add 0eca9e6 _scheduler/scheduler.py: Enforce SafeChildWatcher
add 435880f tox.ini: Add python3.8 to default environment list
add 807f275 .gitlab-ci.yml: Add test environment for Python 3.8
add 598ebf3 Merge branch 'chandan/python3.8' into 'master'
add 59e8a3c requirements: Add dependency on ruamel.yaml.clib
add 803d800 Merge branch 'chandan/dependon-yaml.clib' into 'master'
add 9167018 .gitlab-ci.yml: Drop unix CI job
add c2449ad _platform: Drop support for chroot sandbox
add 1a2b229 sandbox: Drop chroot sandboxing backend
add 2f5e682 tests: Drop chroot xfail/skipif
add c8153bc Merge branch 'juerg/drop-chroot-sandbox' into 'master'
add 51f72e9 _platform: Don't use psutil.Process.cpu_affinity on unsupported platforms
add 8961e27 Merge branch 'chandan/fix-cpu-count' into 'master'
add f3f234b Prepare NEWS for 1.91.3 development snapshot release
add 51263e2 Merge branch 'chandan/tag-1.91.3' into 'master'
add 78d366a setup.py: Remove check for bubblewrap
add 6a627ef Merge branch 'chandan/no-warn-bwrap' into 'master'
add bd3a77c tests/artifactcache/config.py: Cast our tmpdir to a string
add 2855243 Merge branch 'tlater/fix-monkeypatch-warning' into 'master'
add 3c1936a Make PipelineSelection a proper enum type
add 0ae6205 _pipeline.py: Refactor if/elif/else usage
add 5960a90 Merge branch 'tlater/pipeline-enums' into 'master'
add 5c1a6ae _frontend/widget.py: show_pipeline() Don't show buildable for junction
add 928d8e6 Merge branch 'tpollard/showjunction' into 'master'
add aed5c34 scheduler.py: Handle exceptions that are caught under the event loop
add 35bc43c Merge branch 'tpollard/loop_exception' into 'master'
add 730302e sandbox.py: Add combined_label() method to batch items
add 0cf763a _sandboxreapi.py: Improve batch command logging
add d3c3833 tests/integration/workspace.py: Relax assert for buildbox-run
add 97a86e4 Merge branch 'juerg/batch-command-logging' into 'master'
add 959d1f2 tox.ini: Remove duplicated move of the coverage file
add 379a09a Remove integration tests for moved plugins
add ff46a31 Tests: Remove bst-plugins-experimental dependency
add 0804133 tests: Remove some ostree stuff
add f62cb1b tox.ini: Remove external plugins tests
add d2cf34b tox.ini: Move coverage handling in commands_post.
add 2d2bd16 tox.ini: Add a external plugins environment test and run it in CI
add 55ed6b5 Merge branch 'bschubert/standardized-tests' into 'master'
add 0b75e62 loader.py: Optimize sorting of elements when they are multiple targets
add d8ed228 Merge branch 'bschubert/optimize-loading-multiple-targets' into 'master'
add afc92dc .gitlab-ci.yml: Simplify test environment declaration
add e3fde75 Merge branch 'chandan/gitlab-ci-toxenvs' into 'master'
add 5a7c4c4 _frontend/app.py: Make message printing tick driven
add 16cbb7c userconfig.yaml: Add bool for disabling console output throttling
add 8627439 Merge branch 'tpollard/messagerate' into 'master'
add f2fd8c9 element.py: Remove unused __staged_sources_directory & assert
add 28ec1c9 Merge branch 'tpollard/removeassert' into 'master'
add c6795b4 tests/integration/project.conf: Remove unused external plugins
add b41f5dd Merge branch 'chandan/remove-bst-experimental-unused' into 'master'
add a6f3f42 tox.ini: Bump version of bst-plugins-experimental to 0.14.0
add 0d012ee source.py: Introduce methods to query state instead of get_consistency
add c48e89d element.py: Rename '_source_cached' to '_has_all_sources_in_source_cache'
add 93ebe49 element.py: Remove _get_consistency and introduce explicit methods
add 4a47af2 source.py: Add a new 'is_resolved' to get whether a source is resolved.
add 3be6d07 source.py: Remove the reliance on consistency to get whether a source is cached
add 5cb2442 source.py: Remove 'get_consistency' completely
add 6021d85 element.py: Compute whether an element is cached only on `is_cached`
add ca133fe element.py: Optimize _should_fetch condition
add 5626988 types.py: Completely remove 'Consistency'
add be1a14d element.py: Stop asserting we are cached after fetch and mark us as such
add 3554f36 NEWS: Add news information about Consistency breakage
add a5b2396 Merge branch 'bschubert/optimize-consistency' into 'master'
add 45507cc Remove "deb" surce plugin, it has beem moved to bst-plugins-experimental
add 9a6c7d7 Merge branch 'jjardon/move_deb_source' into 'master'
add b4d472e Plugins: Update entrypoint group for pip origin
add 418ab6b NEWS: Announce new entry point groups for plugins
add f7f247a doc/sample_plugin: Update name of entry point group
add ef4041f Merge branch 'chandan/plugin-namespace-fix' into 'master'
add ba944bd NEWS: Add mark for 1.93.0
add cdb5627 Merge branch 'chandan/1.93.0' into 'master'
add a5ee014 element.py: Optimize assemble_done()
add 35dd0e0 Merge branch 'juerg/assemble_done' into 'master'
add 451ba25 _frontend/cli.py: Make show() --use-buildtree respect pull semantics
add bf5f207 Merge branch 'tpollard/shellbuildtree' into 'master'
add 8aa7e8b exceptions: Expose ErrorDomain, ErrorLoadReason
add 2adcf79 testing: Add functions to generate yaml files
add 1c3baa2 Merge branch 'coldtom/testing-api' into 'master'
add c7346b1 _gitsourcebase.py: Refactor fetching and tracking
add b9f61a9 _gitsourcebase.py: Fetch with depth=1 when an available tag is given
add 2a49e08 _gitsourcebase.py: Strip git-describe tag info from cache key
add 7c130a6 _gitsourcebase.py: Refactor latest_commit_with_tags
add 1a057b0 Document my changes to the Git source plugin in NEWS
add 8ff0d77 Add Git source test for depth=1 fetch with exact tag ref
add bd2cd02 Merge branch 'tmewett/git-source' into 'master'
add 211139d .gitlab-ci.yml: Bump bst-plugins-experimental
add 17a713f Merge branch 'coldtom/fix-overnight-test' into 'master'
add 496ff3a .gitlab-ci.yml: build fdsdk needs cargo plugin and its dependencies
add 47fb429 Merge branch 'jjardon/overnigth_cargo' into 'master'
add 48ff666 .gitlab-ci.yml: Update BuildBox components to 0.0.6
add db6207f Merge branch 'juerg/buildbox' into 'master'
add 01943af tests/integration/interactive_build.py: Relax expect for buildbox-run
add 5e16915 Merge branch 'juerg/buildbox-run-test' into 'master'
add 020b20c _sandboxreapi.py: Do not create directories for host-files
add f7239fe _sandboxbuildboxrun.py: Check buildbox-run capabilities
add 044a9c6 _sandboxbuildboxrun.py: Support host-files
add 4a3cba6 _sandboxbuildboxrun.py: Bind mount /dev in interactive mode
add dba3d8b tests/integration/shell.py: xfail update
add 5c9da3a Merge branch 'juerg/buildbox-run-bind-mount' into 'master'
add d65be48 NEWS: Add note about the new buildstream.exceptions API
add 9b9d4b1 NEWS: Add mark for 1.93.1
add 6539d80 Merge branch 'juerg/1.93.1' into 'master'
add a45666f tox.ini: Update bst-plugins-experimental version to 1.93.1.1
add b2938d9 .gitlab-ci.yml: Update bst-plugins-experimental version to 1.93.1.1
add 546b3c1 Merge branch 'juerg/update-plugins' into 'master'
add 8bb98fd tests: Avoid testing file times along with umask
add bd614b3 remote_execution: Update proto
add 59b26c9 local_cas: Update proto
add c4dafc8 utils.py: Add file timestamp helpers
add 6f85763 cascache.py: Add properties to CaptureTree requests
add 205786c cascache.py: Parse timestamp and update mtimes in checkout
add 78e0620 storage: Use specified mtime in import_files
add 9cac160 storage: Support mtime property in Directory.import_files()
add b48edd4 element.py: Do not discard explicitly set mtime of source files
add 43b09b2 workspace.py: Import mtimes when staging
add fb84786 tests/internals/storage_vdir_import.py: Test mtimes
add e88e890 tests/remoteexecution: Remove xfail for non-incremental-time workspace
add 447d56f tests/remoteexecution/workspace.py: Improve test
add 067ea76 Merge branch 'traveltissues/1216' into 'master'
add d528fd8 _casbaseddirectory.py: Refactor _add_file
add e618edf _casbaseddirectory.py: Implement `_apply_changes`
add 7a0d012 tests/internals/storage.py: Add merge tests
add 6e65633 _casbaseddirectory.py: Use the new _add_entry where possible
add 0591b0c Merge branch 'tlater/CASdiff' into 'master'
add 7d8a23f sandbox: Remove unused _mounter.py
add 9319c6f utils.py: Drop device node support from _process_list()
add b5477b2 cascache.py: Remove unused _get_subdir() method
add 8799958 Merge branch 'juerg/remove-unused' into 'master'
add 5df94c7 .gitlab-ci/buildgrid-compose.yml: Switch to buildbox-worker
add 761b01b Merge branch 'juerg/ci-re' into 'master'
add 3cde9d2 _sandboxreapi.py: Optimize output_directories
add 16b98a8 Merge branch 'juerg/sandbox-reapi-capture' into 'master'
add 86c8294 element.py: Cache buildtrees by default for workspace builds
add 7f30e22 tests: Remove stray workspaces.yml files
add f886976 tests/integration/workspace.py: Fix test_workspace_commanddir
add f04fd96 tests/integration/workspace.py: Fix test_incremental_configure...
add d5238a8 storage: Remove unused Directory.set_deterministic_mtime()
add 41168e4 _casbaseddirectory.py: Add assert to IndexEntry.get_directory()
add 2ddcc45 _workspaces.py: Remove unused stage() method
add 2d0ef3a _workspaces.py: Increment format version, drop support for old versions
add 7cd62cb _workspaces.py: Drop `running_files`
add 04c00da _workspaces.py: Drop `prepared`
add 1ee61a8 _workspaces: Rename `last_successful` to `last_build`
add c45ea0d element.py: stage_artifact(): Drop unused update_mtimes parameter
add 386aa2e _artifactcache.py: Remove unused diff() method
add a9638ef cascache.py: Remove unused diff_trees() method
add e2a8068 utils.py: Remove unused FileListResult.combine() method
add 42517fe _artifact.py: Remove unused rootdir parameter from cache() method
add bf068f8 _artifact.py: Remove unused get_metadata_dependencies() method
add beb7835 sandbox: Remove unused _SandboxBatchCall
add 03870cc artifact.proto: Add sources field
add 3669dcd _artifact.py: Add helper methods for new sources field
add 83c210e element.py: Store sources vdir when caching buildtrees
add ee456e8 _sandboxreapi.py: Support setting output_node_properties
add 6fd63ac element.py: Add MTime to output_node_properties for workspaced elements
add 702fbd3 _artifact: Import workspaced artifacts with mtimes
add ef060ad _casbaseddirectory.py: Add _create_empty_file() method
add 6cd3dad _filebaseddirectory.py: Add _create_empty_file() method
add 49c9e58 sandbox: Add _create_empty_file() method
add 8318fef buildelement.py: Use marker file to avoid rerunning configure
add e85ecc8 element.py: Reimplement support for incremental workspace builds
add ec7fb6e tests/integration/workspace.py: Add incremental build test
add 6cd3add tests/integration/workspace.py: Test incremental build after failure
add 2152945 tests/remoteexecution/workspace.py: Fix test and enable incremental
add f126f0a Merge branch 'juerg/incremental-workspace-build' into 'master'
add fb91adc _project.py: fix the case where a simple string is passed to host-files
add 9c57c84 Merge branch 'abderrahim/simple-host-files' into 'master'
add 25b2577 tests/integration/autotools.py: Check build log
add f65299c cascache.py: Don't trip up on empty digests in fetch_blobs()
add cccf742 sandbox: Move log forwarding from SandboxREAPI to SandboxRemote
add 802165c _sandboxremote.py: Support stdout and stderr digests
add d23cf67 Merge branch 'juerg/reapi-log' into 'master'
add 701fa26 Docs: Add doc note about directories to core plugins
add e76ee57 Merge branch 'willsalmon/directorynote' into 'master'
add 6b77daa Canonicalize OS name
add df1e4e7 .gitlab-ci/buildgrid-compose.yml: Set platform properties
add aead8c8 _sandboxreapi.py: Set OSFamily and ISA platform properties
add cef76e3 _sandboxreapi.py: Set unixUID and unixGID platform properties
add 0f80285 _sandboxreapi.py: Support optional network access
add 5b2abcf Merge branch 'juerg/reapi-platform' into 'master'
add be27f17 _casbaseddirectory.py: Fix _exists()
add 29feba0 _casbaseddirectory.py: Fix _create_empty_file()
add 685ba29 _casbaseddirectory.py: Add support for directory node properties
add e842b94 _casbaseddirectory.py: Add _set_subtree_read_only() method
add 9892ae3 _sandboxreapi.py: Ensure mount points exist
add 9cf7a8a _sandboxreapi.py: Support read-only root
add 7eceaa9 Merge branch 'juerg/reapi-readonly' into 'master'
add 57c291b _sandboxbuildboxrun.py: Fix signal handling
add c4001c8 Merge branch 'juerg/buildbox-signals' into 'master'
add 8edf482 _frontend/cli.py: Fix formatting for `bst show` help text
add 71179f8 Merge branch 'chandan/fix-bst-show-formatting' into 'master'
add f15d58d _sandboxreapi.py: Sort platform properties by name
add 49877ff Merge branch 'juerg/reapi-platform' into 'master'
add 77138b8 _casbaseddirectory.py: Tweak _add_file() parameters
add 7ff1023 _casbaseddirectory.py: Mark find_root() method internal
add dd1a455 _filebaseddirectory.py: Support follow_symlinks in descend()
add f78e6ee _filebaseddirectory.py: Improve _exists() method
add 7fbfccc storage: Add public Directory.exists() method
add e4d49bc utils.py: Add mode and encoding parameters to _tempnamedfile()
add 94d6a50 storage: Add Directory.open_file() method
add a5236ef storage: Add generic Directory._create_empty_file() method
add 78da6e3 Merge branch 'juerg/vdirectory' into 'master'
add df4404b _protos: Rebuild with latest protobuf
add 1ce31d4 _protos: Update remote_execution.proto
add c7e2b99 Merge branch 'juerg/reapi' into 'master'
add 18a5495 node.pyx: Add note on node exceptions in plugins
add 341940a Merge branch 'tlater/node-exceptions' into 'master'
add 605b5fb _downloadablefilesource.py: don't download the file if etag matches
add aec9deb Merge branch 'abderrahim/etag' into 'master'
add 4922c04 cascache.py: Create cas logs in the buildstream cache directory
add ed88bf6 cascache.py: remove creation of the 'cas/objects' directory
add 6d1c80b Merge branch 'bschubert/stricter-cas-soc' into 'master'
add be370e6 .gitlab-ci.yml: install requirements from git instead of pipy
add 0b11fcb Merge branch 'bschubert/fix-overnight' into 'master'
add d874977 mount: don't pass nonempty option
add ceb38d1 Merge branch 'abderrahim/fuse3' into 'master'
add f3726a7 _sandboxbuildboxrun.py: Check for buildbox-run initialization errors
add 340fd4e Merge branch 'juerg/buildbox-run-error' into 'master'
add 711eb3b .gitlab-ci.yml: Drop tests-debian-9 job
add 3ed61ee .gitlab-ci.yml: Do not use Python 3.5 tox environments
add 2c09f55 tox.ini: Drop Python 3.5 environments
add 8b6cc68 setup.py: Require Python >= 3.6
add 12b86f1 tests/format/junctions.py: Drop Python 3.5 compatibility
add 868b22e NEWS: Add note about requiring Python >= 3.6
add 8ffc222 Merge branch 'juerg/python-3.6' into 'master'
add b11795a .gitlab-ci.yml: Update BuildBox components to 0.0.7
add a002ce6 tests/integration/build-uid.py: Don't skip tests with buildbox-run
add 60bff41 tests/integration/script.py: Drop read-only root xfail for buildbox-run
add 0c21df1 Merge branch 'juerg/buildbox' into 'master'
add 9d837bb _project.py: resolve options before running the final assertions
add 6254f9c Merge branch 'abderrahim/options' into 'master'
add edcd52f .gitlab-ci.yml: Allow WSL test to fail
add daccb77 Merge branch 'jjardon/allow_fail_wsl' into 'master'
add 937253e _casbaseddirectory.py: Fix encoding in open_file() for binary files
add 90c1646 _filebaseddirectory.py: Fix encoding in open_file() for binary files
add 8b093f9 _casbaseddirectory.py: Fix file mode in export_to_tar()
add 208b2b4 _casbaseddirectory.py: Sort entries in export_to_tar()
add c6b6446 _filebaseddirectory.py: Clear uid/gid/uname/gname in export_to_tar()
add 35cccea tests/frontend/buildcheckout.py: Check mode and uid/gid in tarball
add 7e0d049 Merge branch 'juerg/export-to-tar' into 'master'
add 33040c3 .gitlab-ci.yml: Don't run win32 and wsl tests in scheduled pipelines
add 9ba60e6 Merge branch 'juerg/ci-schedules' into 'master'
add a4738ec _artifact.py: don't consider an artifact cached if public data is missing
add d3e3229 cascache.py: use buildbox-casd when checking whether a file is cached
add f42dd71 Merge branch 'abderrahim/public-data' into 'master'
add 8c9fa61 Revert ".gitlab-ci.yml: Allow WSL test to fail"
add 358a6dd Merge branch 'jjardon/wsl' into 'master'
add 9f5cc38 _signals.py: Allow SIGTERM handler to call `os.exit()`
add 637a125 job.py: Use `_signals.terminator()` to handle `SIGTERM`
add 18c9cdd _sandboxbuildboxrun.py: Reduce SIGTERM timeout to 15s
add ef26306 Merge branch 'juerg/job-sigterm' into 'master'
add 79403f6 doc/source/main_glossary.rst: Fix docs build errors
add 3d5c183 Merge branch 'tristan/fix-docs-build-error' into 'master'
add 96430e2 node.pyx: MappingNode.get_int(): Support `None` as default
add afb35bb sandbox: Make build-uid and build-gid configuration optional
add d75b0fc Drop concept of partially supported sandbox configuration
add d2a7f0a element.py: Move sandbox configuration check to __sandbox()
add 5b48b47 sandbox: Reinitialize class when pickle is used
add 129b19d _sandboxbuildboxrun.py: Detect platforms supported by buildbox-run
add 4bdb973 Merge branch 'juerg/platform' into 'master'
add 86f013d Process options in includes files with the options of their junction
add 431cd16 Merge branch 'valentindavid/include-options-from-junction' into 'master'
add 2d66d5b element.py: Fix strong cache key calculation in non-strict mode
add d36340d element.py: Tweak cache key calculation for `BST_STRICT_REBUILD`
add 954ede7 tests/frontend/buildcheckout.py: Add non-strict test
add 5d0049a Merge branch 'juerg/cache-key' into 'master'
add 061ca4c doc/source/main_glossary.rst: rename 'Core Plugin' -> 'Core plugin'
add 48f8fdf doc/source/format_intro.rst: Clarifications around directives
add 00e2ab8 doc/source/using_tutorial.rst: Renamed to "Getting started"
add c3e4978 doc/source/using_developing.rst: Renamed to "Developing"
add 35cca74 doc: Refactoring junction documentation
add 5e79a84 doc/examples/junction-includes: Adding new example about includes with junctions
add 0060e69 doc/examples/directives: Add user guide for using project options and directives
add 9cc9ae9 doc/examples/strict-mode: Adding a user guide for using non-strict build plans
add b2a8fc1 doc/examples/composition: Adding user guide about split-rules and compose elements
add 6b9619b doc/examples/filtering: Added a new user guide entry about filter elements
add 98ca2be doc/examples/overlaps: Added new user guide entry for overlapping files
add 548ec0c doc/source/conf.py: Update copyright year
add 03b7113 doc/source/sessions-stored: Refreshing built session files
add f093e63 Merge branch 'tristan/user-guide-refactor' into 'master'
add 5d3c72f tests/sources/tar.py: Fix flaky test_out_of_basedir_hardlinks
add b2c5f01 tests/internals/cascache.py: Increase sleep duration to fix flaky test
add 74bbafa Merge branch 'juerg/tar-hardlinks' into 'master'
add 90eecfa _artifactcache.py: Fix misleading log message when pulling artifacts
add d946255 _artifactcache.py: Handle BlobNotFound error in pull()
add 50dc149 cascache.py: Add allow_partial parameter to fetch_blobs()
add 3ed4200 tests/frontend/pull.py: Add test_pull_missing_blob_split_share
add ed2e202 _cas/cascache.py: Add contains_files() method
add 908f143 _artifact.py: Don't consider an artifact cached if logs are missing
add 442b131 _cas/cascache.py: Drop unused contains_file()
add cc087ae _casbaseddirectory.py: Fix temp file permissions in open_file()
add 70c4171 _artifact.py: Don't cache the proto of incomplete artifacts
add f422057 tests/frontend/push.py: Add test_push_after_rebuild
add 3d77f15 Merge branch 'juerg/artifact-blob-not-found' into 'master'
add af057b6 pip source plugin: Add support for python 3.8
add 034f989 Merge branch 'tristan/pip-source-3.8' into 'master'
add 1e0339d tox.ini: Use new ostree plugin for generating documentation.
add b387813 doc/Makefile: Ensure we error out if bst2html.py fails.
add fc39f81 Merge branch 'tristan/fix-doc-builds' into 'master'
add 668c9c0 src: Removing all pre 2.x "Since" documentation annotations.
add 1a2a790 doc/source/hacking/coding_guidelines.rst: Adjusting "Since" guidelines.
add e93d33b Merge branch 'tristan/remove-old-version-annotations' into 'master'
add 0b92a1f Fix typo namspaceing -> namespacing
add f685c31 Merge branch 'seanborg/buildstream-seanborg/documentation-typos'
add 31c1600 _exceptions.py: Propagate `temporary` to the base class
add 6c6d8f8 Merge branch 'juerg/temporary-failure' into 'master'
add 91dcc03 .gitlab-ci.yml: Update to CentOS 7.7
add 10de418 Merge branch 'juerg/centos-7.7' into 'master'
add d6abc06 tests: Stop using tmpdir_factory.mkdtemp("")
add 943e255 Merge branch 'bschubert/fix-mktemp-usage' into 'master'
add 4c4456a filetypegenerator.py: Close socket after usage
add 701f065 tests: Correctly handle resources when opening files in tests
add b853d9a Merge branch 'bschubert/no-warnings' into 'master'
add f070f66 types.py: Add a __str__ to PipelineSelection to fix man pages
add 63b9c7e Merge branch 'bschubert/fix-manpages' into 'master'
add f84defb setup.cfg: Increase pytest default timeout
add 0024c46 tests/testutils/constants.py: Increase pexpect timeouts
add 350880f tests/format/variables.py: Increase timeout for test_cyclic_variables
add bacc060 Merge branch 'juerg/test-timeouts' into 'master'
add 6ef6be5 Replace format-version with min-version
add e5e776c Remove documentation references to format_version
add 1ef604f doc/source/hacking/writing_plugins.rst: Remove some docs about format-version
add d33c2d9 doc/source/format_project.rst: Documenting "min-version"
add fe3b3f5 NEWS: Adding note about breaking change format-version -> min-version
add 0307e55 Merge branch 'tristan/min-version' into 'master'
add 968897f Remove bst shell --sysroot
add 67ea61f _stream.py: shell(): Require sources only for build shells
add 1f37528 Merge branch 'juerg/shell-sysroot' into 'master'
add 8ea28d3 element.py: Create destination directory in stage_artifact()
add f1b44c1 _casbaseddirectory.py: Remove unused _copy_link_from_filesystem()
add a1c85b0 _casbaseddirectory.py: Validate path components
add 5e6dc5f _filebaseddirectory.py: Fix mode="x" in open_file()
add ac7e20f storage: Directory.open_file(): Allow w+ and x+ modes
add 236382d storage: Implement __iter__ in Directory classes
add c20e921 storage: Add Directory.stat() method
add f48a431 directory.py: Add isfile(), isdir() and islink() methods
add 7948b80 storage: Add Directory.file_digest() method
add c8bd565 storage: Add Directory.readlink() method
add 047549f storage: Add Directory.remove() method
add 9ce3da0 storage: Add Directory.rename() method
add 95d0fda tests/internals/storage.py: Add tests for new Directory methods
add 8db4a7d Merge branch 'juerg/vdirectory' into 'master'
add 37a1f33 NEWS: Update for 1.93.2
add dd29f0d Merge branch 'juerg/1.93.2' into 'master'
add 5aa5c7c node.pyx: Add '__str__' to 'Node'
add db4f997 Merge branch 'willsalmon/more_as_str' into 'master'
add e1f96f6 sandbox: Remove Sandbox.get_directory()
add fc66c36 element.py: Drop BST_VIRTUAL_DIRECTORY
add f142dce Merge branch 'juerg/vdirectory' into 'master'
add d828169 .gitlab-ci.yml: Update Docker images
add 051e04a _platform.py: Reset Sandbox._dummy_reasons in _check_sandbox()
add eada71c testing/_utils/site.py: Check that buildbox-run has all dependencies
add 312afad Switch preferred sandbox from bwrap to buildbox-run
add f29bdbe .gitlab-ci.yml: Drop buildbox-run job
add 642a87d .gitlab-ci.yml: Add bwrap job
add 82eb1d4 Merge branch 'juerg/sandbox' into 'master'
add d63bd7e Plugin loading refactor, removing all versioning
add 3b1af60 tests/plugins/deprecationwarnings.py: Moved from it's subdirectory
add b3556a3 tests/plugins/loading.py: New test replaces removed internal test
add a311a14 plugin.py/pluginfactory.py: Implementing BST_MIN_VERSION
add fdaf73f tests/plugins/loading.py: Added tests for plugin BST_MIN_VERSION guards
add 1339b0e tox.ini: Update reference to updated plugins with BST_MIN_VERSOIN set
add e70d77f Merge branch 'tristan/plugin-versions-refactor' into 'master'
add 47e5319 NEWS: Updating news for 1.93.3 snapshot.
add 350fa7d Merge branch 'tristan/update-news' into 'master'
add 1f74bd7 _stream.py: Fetch sources while launching build shells
add 9796d1d Merge branch 'chandan/build-shell-fetch' into 'master'
add e3c2792 CONTRIBUTING: Remove link for obsolete issue policies
add 557690e Merge branch 'chandan/no-nosoftware' into 'master'
add 9084ae1 _pluginfactory/pluginfactory.py: Add provenance to missing plugin errors
add e13275b tests/plugins/loading.py: Migrate tests for found/not found plugins
add d1d002d plugin.py: Rework how deprecation warnings are configured.
add 2211714 Merge branch 'tristan/deprecation-warnings-refactor' into 'master'
add 1516982 tests/plugins/pip-samples/sample-plugins: Adding a sample pip plugins package
add 60bae6d tox.ini: Install the sample pip plugin package when running tests
add 53b7374 tests/plugins/loading.py: Added test for loading pip pluings
add f17b842 _pluginfactory/pluginorigin.py: Store provenance of origins for error reporting
add 1725965 _pluginfactory/pluginfactory.py: Implement error reporting for pip origins
add 3f90c2f tests/plugins/loading.py: Test failure modes when loading pip plugins
add e4a9cc3 docs/source/format_project.rst: Enhance documentation on plugin origins.
add a79eadb Merge branch 'tristan/pip-plugin-versioning' into 'master'
add 7589dca doc/format_project: Add links related to virtual environments
add 045a7fd Merge branch 'chandan/venv-install-link' into 'master'
add a6eb85d casdprocessmanager.py: Relax timeout for establishing buildbox-casd connection
add 7ca09c6 casdprocessmanager.py: Check if buildbox-casd process is alive while waiting for connection
add 023e63b Merge branch 'ctolentino/casd-timeout' into 'master'
add 81e5ce7 _downloadablefilesource.py: Set user agent
add 9b42678 Merge branch 'willsalmon/useragnet' into 'master'
add 0350028 junction.py: Call node.validate_keys() in Plugin.configure()
add ceedc48 Merge branch 'tristan/validate-junction-config' into 'master'
add da5b798 setup.py: Also run pylint on this file
add d454216 setup.py: Also run black
add fd0a87b Merge branch 'bschubert/pylint-setup-py' into 'master'
add 6c4a7db .gitlab-ci.yml: Move from license-management to license-scanning
add 14dd359 Merge branch 'bschubert/fix-template-scanning' into 'master'
add cae8cd1 downloadablefilesource.py: Make it publicly accessible
add 4adcb05 Merge branch 'bschubert/make-downloadable-filesource-public' into 'master'
add bc0d564 element.py: Fix documentation around `node` usage
add 6156823 Merge branch 'bschubert/fix-node-docs' into 'master'
add 8287c6a Return names of grpc errors
add c8ed8f9 Merge branch 'traveltissues/grpccodes' into 'master'
add 2b8c2dc pip.py: Remove the pip element, it is in experimental
add 8797ab1 Merge branch 'bschubert/remove-pip-element' into 'master'
add db2039f lint: Stop using mutable objects for default arguments
add f5e8a54 Update all packages requirements
add b9f0126 Merge branch 'bschubert/update-requirements' into 'master'
add d0336f7 tests/integration/manual.py: Fix assertion for CLI invocation
add 7b53e48 Merge branch 'chandan/fix-manual-test' into 'master'
add 4549665 testing.py: Add a new `check_cache_key_stability` helper
add 10aeb94 Merge branch 'bschubert/cache-key-helper' into 'master'
add e5ed02d element.py: Always expand all variables at element creation
add c99aa67 option.py: Remove 'transform' flag. It is not needed anymore
add d7d18c1 Merge branch 'bschubert/resolve-variables' into 'master'
add 812e790 buildelement: Ensure command-subdir is part of the cache key
add cd7132a NEWS: Add note about breaking cache key change
add 011f591 Merge branch 'chandan/builddir-cachekey' into 'master'
add 1ff22fb source.py: Don't re-declare __init__ in source implementations
add 830e214 source.py: Allow access to element's variable
add 3408afb Merge branch 'bschubert/allow-source-variables-access' into 'master'
add d25e210 _sandboxbuildboxrun.py: Pass --no-logs-capture to buildbox-run
add be45827 Merge branch 'juerg/no-logs-capture' into 'master'
add e613450 utils.py: Improve error handling of _parse_version().
add 39cf9be tests/plugins/loading.py: Added tests for various malformed BST_MIN_VERSION
add 0769103 Merge branch 'tristan/plugin-min-version-fault-tolerance' into 'master'
add a34ff40 _frontend/cli: Support "build" value for `bst build --deps`
add c3198f5 _frontend/cli: Support "build" and "run" values for `source fetch --deps`
add f196019 _frontend/cli: Support "build" and "run" values for `artifact pull --deps`
add 5018a61 _frontend/cli: Support "build" and "run" values for `artifact push --deps`
add 3f08bb2 Regenerate man pages
add dd2eb18 Merge branch 'chandan/cli-deps-2' into 'master'
add be2a3e6 casdprocessmanager.py: Check that buildbox-casd process is not a zombie
add 4819011 Merge branch 'ctolentino/check-casd-process' into 'master'
add b8b4031 Ensure there are no duplicates in Elements.dependencies()
add 0c9ca74 Merge branch 'chandan/duplicate-format-deps' into 'master'
add 6157b4f _frontend/profile: Use non-greedy search to substitute variables
add ef00fc2 Merge branch 'chandan/fix-subst-non-greedy' into 'master'
add a8b3222 node.pyx: Deep clone ScalarNode too
add 7cdd7f4 Merge branch 'bschubert/ensure-composite-works-with-variables' into 'master'
add a247912 _scheduler: Fix order of launching jobs and sending notifications.
add f41c4dc _scheduler/scheduler.py: Reset the schedule handler at the beginning of real_schedule()
add 99063c7 Merge branch 'tristan/improve-frontend-crash-handling' into 'master'
add d8dc6bc _loader/loader.py: Reoganized public/private methods
add 654bf55 Merge branch 'tristan/loader-api-fixup' into 'master'
add fee2a26 _protos: Update remote_execution.proto
add 68945db _protos: Update local_cas.proto
add 9826e11 Update node property support to match proto changes
add ba31c25 .gitlab-ci.yml: Update BuildBox components to 0.0.8
add f51653d Merge branch 'juerg/node-properties' into 'master'
add b8e8108 Revert "element: remove _is_required()/__required"
add dfdd3d5 Revert "Schedule elements instead of "requiring" them"
add 7003d5e Revert "Simplify queue management"
add bc862f1 tests/frontend/pull.py: Add test for dynamic build plan
add 1a85a6d Merge branch 'juerg/dynamic-plan' into 'master'
add 3f41802 _pluginfactory: Delegating the work of locating plugins to the PluginOrigin
add ec91f1f _pluginfactory/pluginoriginjunction.py: Add support for junction plugin origin.
add 37d680f tests/plugins/loading.py: Adding tests for junction plugin origin
add c5fd2a4 doc/source/format_project.rst: Documenting the junction plugin origin.
add 27ac938 Merge branch 'tristan/junction-plugin-origin' into 'master'
add 692df79 doc/source/format_declaring.rst: Fixing spelling mistake
add 2b409a2 Merge branch 'tristan/junction-docs-touchup' into 'master'
add 53beb92 Move sandbox YAML processing from Element to SandboxConfig
add 1a94912 element.py: Expand variables in sandbox config
add 0e6bef6 tests/integration/sandbox.py: Test variable expansion in sandbox config
add c690319 Merge branch 'juerg/expandsandbox' into 'master'
add 90628b1 .gitlab-ci.yml: Configure SAST analyzers
add a7b5f2a Merge branch 'juerg/sast' into 'master'
add 71a3639 cascache.py: Drop unnecessary FindMissingBlobs from _send_directory()
add 976439c Merge branch 'juerg/cas-send-directory' into 'master'
add f604ad9 element.py: Always expand public data's variables
add e0716d7 Merge branch 'bschubert/resolve-public-variables' into 'master'
add f5c9a4e _context.py: Support parallel installations of BuildStream
add e3de12e tests/internals/context.py: Test correct config file is chosen.
add 30d8cb6 doc/source/using_config.rst: Document support for version specific config files.
add f2a5dbe Merge branch 'tristan/version-specific-config' into 'master'
add 49ab0bc loader: removing the NO_PROGRESS object
add 925a6ab Merge branch 'tristan/remove-loader-no-progress-object' into 'master'
add 15cd8c8 _loader/loader.py: Remove useless line of code.
add 32a5317 Merge branch 'tristan/loader-fixes' into 'master'
add abb500b _loader/loader.py: Make collect_element_no_deps() public
add f774efa link element: Adding support for new link element
add 35f0545 tests/format/link.py: Adding tests for the link element
add 6ec85d2 doc: Adding new `link` plugin to the core plugin index
add e5d0e0c junctions: Remove all traces of the `target` option
add e493065 NEWS: Updated for breaking change of junction target removal
add 2beaa28 Merge branch 'tristan/link-element' into 'master'
add 42405d8 Update target branch in FD overnights
add 76c51c2 Merge branch 'traveltissues/update-overnight' into 'master'
add 8ae5e11 Optimize variable flattening
add 53b8d04 Merge branch 'valentindavid/optimize-variables' into 'master'
add ae3a70b tests/integration/cachedfail.py: Do not skip test with buildbox-run
add b8fa4ae .gitlab-ci.yml: Drop bwrap job
add 93981f2 tests: Drop bwrap-specific tests
add acf751b linux.py: Drop bwrap support
add be13a5c darwin.py: Update error message
add 2979229 _platform: Drop maximize_open_file_limit()
add 316e658 Drop SandboxBwrap
add b487a11 sandbox: Drop _use_cas_based_directory()
add 8655375 sandbox: Drop unused _mount.py
add 4162e8d sandbox: Remove unused root and scratch directories
add 3a0db49 Drop unused _fuse package
add 632938f linux.py: Remove unused can_crossbuild() and _uid/_gid
add 5ec2f21 doc/source/arch_sandboxing.rst: Update for buildbox-run
add 0b79b37 NEWS: Add note about dropping bwrap sandboxing backend
add 07275d0 Drop sandbox selection and BST_FORCE_SANDBOX
add cbf4904 Drop Platform subclasses and BST_FORCE_BACKEND
add 1a40438 Merge branch 'juerg/sandbox-drop-bwrap' into 'master'
add 09b2c85 casdprocessmanager.py: make sure --protect-session-blobs is always passed
add feb82ab Merge branch 'abderrahim/protect-blobs' into 'master'
add c9a00fd _loader/loadelement.pyx: Load full element names recursively.
add 5cc0156 plugin.py: Load full element names recursively.
add ba33095 _loader.py: Support full path dependencies and targets
add 55e59d2 _pluginfactory/pluginoriginjunction.py: Call get_loader() with provenance.
add 13f8266 _includes.py: Use rsplit to split included yaml instead of split
add d7242d4 tests/format/junctions.py: Test loading dependencies and targets with full paths
add 5a2a9f4 tests/plugins/loading.py: Testing junction plugins with full paths
add 6c01402 tests/format/link.py: Testing full path link targets
add bcb0359 tests/format/include.py: Test including of files using full paths
add 34c5ce3 docs: Updating documentation regarding element names and addressing.
add 1386ddf Merge branch 'tristan/element-full-paths' into 'master'
add 202107e _yaml.pdx: Remove false presumption from EISDIR error message
add dd7b31e _includes.py: Propagate provenance through Loader.get_loader()
add 25fda16 _loader/loader.py: Make provenance a positional argument
add d9fc31b Merge branch 'tristan/get-loader-provenance' into 'master'
add a46d7d5 sandbox/_sandboxremote.py: Improved log messages
add 57c7312 Merge branch 'scottclarke/remote-build-message' into 'master'
add cc093b0 utils.py: Fix error handling in safe_copy()
add 81c0fb1 utils.py: Make copystat optional in safe_copy()
add 725435f cascache.py: Fix file modes in checkout()
add 6f335e2 Merge branch 'juerg/object-file-mode' into 'master'
add c8e0aa7 .gitlab-ci.yml: Update BuildBox components to 0.0.9
add e1ee661 Merge branch 'juerg/buildbox' into 'master'
add af4903d _context.py: Put the source_cache_specs close to the other cache specs
add 2c9d87e _project.py: reorganize __init__()
add f1c4825 Merge branch 'tristan/reorganize-project-context-init' into 'master'
add f72aa20 tests/frontend/workspace.py: Removing tests
add 618173c _frontent/cli.py: Removed message to user informing the workspace is closed.
add d5121cc _stream.py: Remove workspace_is_required()
add b29172e _project.py: Remove invoked_from_workspace_element()
add 2eccea8 _project.py: Reorganize methods
add eec0ce4 Merge branch 'tristan/remove-some-internal-api' into 'master'
add 0c14551 NEWS: Preparing for 1.93.4 snapshot
add 5daa22a Completely abolish job pickling.
add 3774ce4 Merge branch 'tristan/nuke-pickle-jobber' into 'master'
add deb6562 _loader: Adding LoadContext
add 05ecd80 Merge branch 'tristan/load-context' into 'master'
add 76f764b _signals.py: Remove code for python3.5 support
add 97204c7 conftest.py: Ensure the `basetemp` is a resolved path
add e4e3b45 Merge branch 'bschubert/cleanups' into 'master'
add ed02757 _loader: Fix invalid junction error to include provenance
add a4a9b5f tests/format/junctions.py: Major refactor
add f08f1f0 tests/frontend: Renaming some projects to avoid new conflicts
add f6c200e doc/examples/junction-includes: Renamed project to avoid name conflict
add 5f75fef junctions: Replace coalescing with explicit overrides
add 364ea9d tests/format/junctions.py: Adding tests for the overrides feature
add 9da47db _loader: Add support for duplicate junctions
add 938ce5a tests/format/junctions.py: Adding tests for duplicate junctions
add 05f6958 _project.py: Implement internal junctions
add 0384aad tests/format/junctions.py: Adding tests for internal junctions
add 3d5d655 docs: Updating documentation regarding junctions and conflicts.
add 88f280d Merge branch 'tristan/junction-jungle' into 'master'
add 43126fd casdprocessmanager.py: Set `_bytestream` to `None` when closing channel
add 771c332 casserver.py: Fix error handling for requests forwarded to casd
add 257426c Merge branch 'juerg/cas' into 'master'
add ea520f9 _artifactcache.py: Skip push only if server has identical artifact
add dd16615 tests/frontend/push.py: Add test_push_update_after_rebuild
add c310f20 Merge branch 'juerg/push' into 'master'
add 5709bb8 All: Update all references to the mailing list.
add 94dcc28 Merge branch 'tristan/update-mailing-list' into 'master'
add 7c03094 tests/testutils/artifactshare.py: Fix sourcedir
add 8745864 Add `bst source push` command
add 9c41a3c Regenerate man pages
add 0355517 NEWS: Add note for `bst source push`
add 4a23653 tests/sourcecache/fetch.py: Use `bst source push` to replace hack
add 74c044d tests/frontend/remote-caches.py: Split test_source_artifact_caches
add ad6987e Merge branch 'juerg/source-push' into 'master'
add 7fde8dd app.py: Remove unnecessary operation in _message()
add 17548eb sandbox.py: Remove unused import
add e79f4a0 Merge branch 'bschubert/cleanup' into 'master'
add e16433a scheduler.py: Remove 'Message' notification type, use the messenger
add 3cb61cf scheduler.py: Remove task-based notifications and use the state
add 472e3d1 _state.py: Only use a single place of truth for the start time
add 46556cb scheduler.py: Pass all 'retry' operations through the state
add f701a80 _stream.py: Stop using a 'SUSPENDED' event to know the state of the scheduler
add 7dd8800 _stream.py: Stop using a 'TERMINATED' event to know the state of the scheduler
add 598345c _stream.py: Stop using a 'RUNNING' event to know the state of the scheduler
add 61dd3d6 scheduler.py: Remove notifications from scheduler to stream
add cb2acc3 scheduler.py: Remove all usage of notifications
add 99d827f Merge branch 'bschubert/simplify-stream-interactions' into 'master'
add df201d0 tar.py: Don't import 'dev' nodes
add 4528ede Merge branch 'bschubert/tar-filter-nondev' into 'master'
add f446ec9 coding_guidelines.rst: Update documentation around type annotation
add 9330cda Merge branch 'bschubert/mypy-docs' into 'master'
add 0301ec2 Don't strip '.bst' from user-supplied checkout dir
add 7ff7fb5 Merge branch 'dwinship/dont-strip-bst-from-user-supplied-checkout-dir' into 'master'
add 8367906 fix tab-completion: hardcode default min version
add c25c819 Merge branch 'dwinship/fix-tab-completion' into 'master'
add cd7e2d6 Update bst-plugins-experimental to 1.93.4
add ac02b57 Merge branch 'bschubert/update-plugins' into 'master'
add 7615cba doc/main_glossary.rst: Fix formatting of .bst file reference
add 0b6c833 Merge branch 'chandan/minor-formatting-fix' into 'master'
add dc2ddc8 Update overnight tests for freedesktop-sdk
add a13693e Merge branch 'dwinship/overnight-freedesktop-sdk-buildstream2' into 'master'
add 95e83d9 _project.py: Documenting why ensure_fully_loaded() is reentrant.
add 0f61dad _loader: Treat `link` elements like junctions
add b3d09d6 tests/format/link.py: Added test for including files across linked junction boundaries
add b7d6f23 Merge branch 'tristan/fix-juncle-include-link' into 'master'
add a7be47d _platform/platform.py: Remove outdated comment
add bb579a1 Merge branch 'chandan/remove-outdated-comment' into 'master'
add e59cdd2 loader.py: use the full name of the element when looking up a workspace
add f3512c2 Merge branch 'abderrahim/loader-workspace' into 'master'
add 852aa13 Remove Aarch64 from overnights
add 75f3009 Merge branch 'dwinship/remove-Aarch64-from-overnights' into 'master'
add e7d085f .gitlab-ci.yml: Remove undefined PLUGINS_TESTS_COMMAND
add 6e62f33 .gitlab-ci.yml: Run missing-deps as a normal user
add 8536dea Merge branch 'chandan/spring-clean' into 'master'
add 38437cd Remove the suggestion that BuildGrid can be used as an artifact server
add bcb789d Merge branch 'sotk/update-artifact-server-docs' into 'master'
add 65db30a element.py: don't use timed activity for staging every artifact
add 64d257e Merge branch 'abderrahim/timed' into 'master'
add d053a61 _variables.pyx: Rewrite Variables code.
add fcaa416 tests/format/variables.py: Added some new tests
add bba8317 tests/frontend/overlaps.py: Test undefined variables
add 8f8eef5 _variables.pyx, element.py: Lazy variable resolution
add 59e6e2a tests/format/variables.py: Adding new test for lazy variable resolution
add f5d6bae Merge branch 'tristan/partial-variables' into 'master'
add b6e4207 Adding CODEOWNERS
add d03c144 Add a remote cache to overnight builds
add fecf353 Merge branch 'willsalmon/overnightcache' into 'master'
add 24703a8 node.pyx: Support merging of conditional sequences
add 03097d0 tests/format/include.py: Test preservation of conditionals at include time
add 4098290 Merge branch 'tristan/options-order' into 'master'
add 3e8af8a element.py: move printing the build environment from elementjob.py
add 69df577 Rework handling of cached failures
add b4aaf35 element.py: allow re-scheduling failed builds
add e906d76 tests/integration/interactive_build.py: make a new test for retrying failed builds
add 7f0e020 Merge branch 'abderrahim/cached-failure' into 'master'
add 8fdcef5 tests/format/variables.py: Increase timeout
add b4a5df2 Merge branch 'tristan/increase-timeout-variables-test' into 'master'
add e6edb86 Reintroduce install instructions to docs
add 99d59a3 Remove install instructions to ostree and deb plugins
add 7137362 Merge branch 'dwinship/reintroduce-install-instructions-to-docs' into 'master'
add c7f9214 data/userconfig.yaml: Document valid symbols for format strings
add 06f4064 Merge branch 'chandan/fix-utils-495' into 'master'
add b691863 doc/source/main_install.rst: BuildStream doesn't directly depend on fuse
add dc8432f doc/source/main_install.rst: BuildStream doesn't directly depend on bubblewrap
add 650a512 Merge branch 'jjardon/doc_fuse' into 'master'
add b04dfb2 Publish our type annotations
add 104c715 Merge branch 'chandan/publish-types' into 'master'
add f45f33b requirements.txt: Update dependencies
add 981ad36 Merge branch 'bschubert/update-to-pytest-6' into 'master'
add 78aa203 _frontend/app.py: Catch exceptions in `_print_summary()`
add 7a9dd09 _frontend/widget.py: Add context to errors in `show_pipeline()`
add 5c1468e source.py: Validate cache when it's used, not in `_is_cached()`
add 6a84970 element.py: Drop cache checks from `_tracking_done()`
add 10b0f00 element.py: Drop `__has_all_sources_cached` instance variable
add 38f7010 element.py: Push all sources
add ff18016 Extract ElementSources class
add 16a5a20 Merge branch 'juerg/element-sources' into 'master'
add 1b65a23 element/source: Remove pointless extra variable
add 4f5e799 Merge branch 'tristan/cleanup-pickle' into 'master'
add 7dffdec doc/using_the_testsuite: Link to instructions for runtime dependencies
add 9351fbd Merge branch 'chandan/contrib-runtime-deps' into 'master'
add 89b3fa4 _stream.py: Conditionally call the session startup frontend callback.
add 7f2bc71 _yaml.pyx: Make shortname a mandatory argument to _yaml.load()
add 1e0aaf4 _project.py: Only one set of plugin factories
add cbc592b _project.py, _loader/loadcontext.py: Added Project.loaded_projects()
add 6798ea2 _pluginfactory: Make list_plugins() report new display information
add 89a1c1b _frontend/widget.py: Refactor the Widget.print_heading() function
add 83cff41 doc/source/format_project.rst: Documenting keys which must be in project.conf
add 97eac15 NEWS: Document breaking change, keys which can only be specified in project.conf
add e3cb8b5 Merge branch 'tristan/fix-redundant-session-headings' into 'master'
add c38036d _loader: Use only one Dependency() class
add f5384af _loader/loadelement.pyx: Dependency now implements `provenance` as a property
add 9b67820 _loader/loadelement.pyx: Removed an unused line of code
add 173cd6e Merge branch 'tristan/loader-dependency-refactor' into 'master'
add c791cd8 _frontend/cli.py: Fix `artifact checkout` with no arguments
add 8935cbb Merge branch 'chandan/fix-artifact-checkout' into 'master'
add 3336442 Artifacts configuration for test can also push
add 46e92ea Add tests for checking the working of a remote cache
add 63607cf Test buildstream with a reference cache server
add ae01de8 Create template for remote tests
add 1c07f17 Use a template for docker-variables
add aefc581 Merge branch 'tcanabrava/cache-server-test' into 'master'
add 4758fdd .gitlab-ci.yml: Drop tests-fedora-30 job
add ca883d3 Merge branch 'juerg/fedora-30' into 'master'
add 2f19be3 testing/_utils/site.py: Add BRZ_EMAIL to support Breezy 3.0
add 62dbb18 tox.ini: Replace py38 with py38-nocover in default envlist
add 30d7e9a .gitlab-ci.yml: Replace py38 with py38-nocover in TOXENV
add 84d03bb Merge branch 'juerg/ci' into 'master'
add ea631e7 .gitlab-ci.yml: Update BuildBox components to 0.0.14
add 5dd6fa4 doc/source/main_install.rst: Update BuildBox components to 0.0.14
add e5afbd7 .gitlab-ci.yml: Add Fedora 32
add 85d8ee1 .gitlab-ci.yml: Drop tests-python-3.8-buster job
add dca535f Merge branch 'juerg/ci' into 'master'
add 830401b element.py: Early return in _initialize_state()
add 898fde9 Completely remove MetaElement
add 5510564 doc: Updating architecture overview to remove mentions of MetaElement
add ccdac35 Merge branch 'tristan/meta-element-death' into 'master'
add c61a044 _protos: Update generated files
add 353a6ac Add Remote Asset API proto
add 1a05fa7 Add generated python protobuffer files Remote Asset API
add b9351b8 casdprocessmanager.py: Add stubs for the Remote Asset API
add 2587fc4 casserver.py: Add proxy for Remote Asset API
add 70a5868 Remove unused BaseCache._spec_error
add dd31591 Rename BaseCache to AssetCache
add 162dd86 Rename CacheError to AssetCacheError
add 7d85545 tests/frontend/push.py: Pull complete artifact
add 5c1e356 _assetcache.py: Add AssetRemote for Remote Asset API
add 91d0298 _assetcache.py: Add fetch_directory() and push_directory() methods
add fa255ad _artifactcache.py: Use AssetRemote
add fce20bc _sourcecache.py: Use AssetRemote
add 0ef5d12 _assetcache.py: Drop index_remote_class and storage_remote_class
add 6e412d5 casserver.py: Drop BuildStream Artifact and Source services
add 08c0fad _protos: Drop BuildStream Artifact and Source services
add 17ff68f _protos: Update local_cas.proto from buildbox-common
add 713e48c casremote.py: Migrate to GetInstanceNameForRemotes()
add a637dc1 doc: Update for Remote Asset API
add aea06a7 NEWS: Add note about the switch to the Remote Asset API
add 10e208d Merge branch 'juerg/remote-asset' into 'master'
add a991708 regression-test for ".bst" artifact checkout bug
add 6daae55 Merge branch 'dwinship/test_for_dot_bst_artifact_checkout_bug' into 'master'
add abd8615 _frontend/cli: Add --deps `build` & `run` values for `source track --deps`
add 4d0a4ce Re-generate man pages
add 5e5fa67 NEWS: Add entry for `source track --deps build|run`
add 47ec22e Merge branch 'chandan/cli-track-deps' into 'master'
add c85370b doc/source/format_declaring.rst: Documenting the ``all`` dependency type
add 024539e plugin.py: Fix documentation reference to MappingNode.validate_keys()
add 4d2735c Merge branch 'tristan/docs-fixes' into 'master'
add cccfe96 Bump minimum version requirement for ruamel.yaml
add 01ffd02 Merge branch 'chandan/upgrade-ruamel' into 'master'
add 3bbb2f1 NEWS: Prepare for next development snapshot - 1.93.5
add 51afe1c Merge branch 'chandan/1.93.5' into 'master'
add 9ac88d5 testing/_cachekeys.py: Fix formatting in cache key failure assertion
add 2e61b22 tests/cachekey/cachekey.py: Use the same project name for cache key tests
add 41a7129 buildstream/element.py: Consider "build-root" variable in the cache key unconditionally
add 4929020 Merge branch 'tristan/build-root-cache-key' into 'master'
add 48a4891 _messenger.py: Make `timed_suspendable` public and use it in job.py
add 0f1b547 Merge branch 'bschubert/timed-suspendable' into 'master'
add 2d1fd2c _fixtures.py: Only get the normal number of threads at the start of session
add 00c5cd0 Merge branch 'bschubert/stricter-thread-checks' into 'master'
add 433864d job.py: Remove ability of job classes to send custom messages
add 41204fc Merge branch 'bschubert/remove-custom-sched-messages' into 'master'
add 2d60e03 _elementsources.py: Fix source names in unique key
add faffc7e Merge branch 'juerg/source-cache-key' into 'master'
add 1325f90 runcli.py: Configurable index/storage artifact types
add 93d4f01 Add bb-storage/bb-asset-hub cache test job
add f3b8451 .gitlab-ci.yml Improve remote-test usage documentation
add 498e051 Update overnight test cache endpoint
add 94ee11c Merge branch 'qinusty/bb-asset-hub-ci' into 'master'
add 274002c downloadablefilesource: Remove deprecated methods in python3.8
add 718e60f Merge branch 'bschubert/remove-urllib-warnings' into 'master'
add df7e68a scriptelement.py: Simplify staging in the case no layout is provided
add ee927b2 Merge branch 'tristan/scriptelement-simplify' into 'master'
add def801b scriptelement.py: Remove legacy manual creation of staging directory.
add 9c3d147 Merge branch 'tristan/scriptelement-simplify-again' into 'master'
add db537b1 _variables.pyi: Add type annotations for _variables.pyx
add c50e755 _loader: Add type information for the loader package's cython files
add e5c72f4 _utils.pyi: Add type information for _utils.pyx
add 20efef5 _types.pyi: Add type information for the cython module
add 80b8dc5 node.pyi: Add type annotations for the node module
add df15640 setup.cfg: Remove pytest and py from the list of non-typechecked modules
add fd80d49 Merge branch 'bschubert/typing' into 'master'
add b758505 Remove unused Scope argument from artifact name related APIs.
add e039a4f Merge branch 'tristan/artifact-dependency-names' into 'master'
add af26980 .gitlab-ci.yml: Remove the WSL tests, we're not using this anymore.
add 02887b9 Merge branch 'tristan/disable-wsl-ci' into 'master'
add bda29b0 _stream.py: In source_push() don't skip fetching for cached elements
add f9a4396 tests/sourcecache/push.py: Add test_push_missing_source_after_build()
add dfbb417 Merge branch 'juerg/source-push-fetch' into 'master'
add b9eb2af _casbaseddirectory.py: Invalidate digest of parent in _reset()
add ade3c16 _casbaseddirectory.py: Add _clear() method
add 8d006f8 tests/sourcecache: Do not inspect uninitialized elements
add 7175dbb Add ElementSourcesCache
add 7df5e40 Move handling of the source `directory` configuration to ElementSources
add 878cedb Merge branch 'juerg/element-source-cache' into 'master'
add 07a91d1 plugin.py: Fixed annotations for node_get_project_path() to return a string.
add 17ce80d _pluginproxy.py: New file, base class for plugin proxies.
add 85400d1 _elementproxy.py: New file, proxy for Elements
add 97812cb Element.dependencies() now yields ElementProxy wrappers by default.
add 1a3e4e8 element.py: Hide dependencies which are irrelevant to the Element
add 0028045 NEWS: Noting breaking change for Scope removal
add 8c7fa57 Merge branch 'tristan/hidden-runtime-dependencies' into 'master'
add 399087e element.py: Refactor overlap warnings.
add 27daa28 Merge branch 'tristan/overlap-whitelist-no-search' into 'master'
add f527955 _sandboxremote.py: Include details in UNAVAILABLE error logging
add f884b11 Merge branch 'qinusty/sandboxremote-log-UNAVAILABLE' into 'master'
add 68e9025 element.py: Fix dependency cache key check in non-strict mode
add d2265d2 tests/frontend/buildcheckout.py: Add non-strict cache key test
add eca24ae Merge branch 'juerg/cache-key' into 'master'
add a6f490a _state.py: Use separate task identifier
add a1252b7 tests/frontend/push.py: Test artifact push with glob
add 7ce327e Merge branch 'juerg/duplicate-artifact-job' into 'master'
add 8e23879 element.py: Separating internal/private instance members in Element.__init__()
add 9a2b5a5 element.py: Fixup docstring for deprecated Element.search() API.
add 7be64b7 element.py: Added missing docstring for Element.project_name
add a0b1533 Merge branch 'tristan/element-minor-fixes' into 'master'
add f11abfb .gitlab-ci.yml: Workaround radon packaging issue
add 06d4789 Merge branch 'tristan/fix-analysis' into 'master'
add d842c28 Update buildbarn images for CI remote-cache
add 5a18f92 Merge branch 'qinusty/update-buildbarn-images' into 'master'
add e2fb3bd element.py: Remove __update_strict_cache_key_of_rdeps()
add 4aeb4a9 element.py: Remove __update_ready_for_runtime()
add 03f592d element.py: Calculate strict cache key before weak cache key
add b989a35 element.py: Fix strict artifact handling in non-strict mode
add 84c2235 testing/runcli.py: Add get_built_elements() method
add 3cfe7a1 tests/frontend/rebuild.py: Add assertion for built elements
add 851c83e tests/frontend/rebuild.py: Add test_modify_and_revert
add 260bdcb Merge branch 'juerg/element-cache-state' into 'master'
add 0a2b558 element.py: Cache ElementProxies
add 9c5f0c7 .gitlab-ci.yml: Finish removing the external tests
add aeea7e6 .gitlab-ci.yml: Fix randomized overnight tests
add 936f4bd .gitlab-ci.yml: Added comment explaining how we test without `usedevelop`
add 268343e .gitlab-ci.yml: Update references to externals
add 1656082 Merge branch 'tristan/fix-overnight-tests' into 'master'
add 4dcc087 compose plugin: Stage the artifacts in Element.stage()
add eb0a8c2 filter plugin: Stage the artifacts in Element.stage()
add 9e1e97f tests/elements/filter/basic/element_plugins/dynamic.py: Stage in Element.stage()
add 6a1fd09 types.py: Adding OverlapAction enumeration
add c42ad9a types.py: Adding CoreWarnings.UNSTAGED_FILES
add 70b12f1 _overlapcollector.py: Adding the OverlapCollector as a separate module
add 71f1b3c element.py, _elementproxy.py: Use new OverlapCollector
add be51483 tests/frontend/overlaps.py: Minor cleanup and refactoring
add 7320a6f tests/frontend/overlaps.py: Test CoreWarnings.UNSTAGED_FILES
add 247aad3 _loader: Added DependencyType
add 3131e0c tests/format/dependencies.py: Remove tests for LoadErrorReason.DUPLICATE_DEPENDENCY
add 37c49e3 _loader/loadelement.pyx: Merge duplicate dependencies.
add 7912ea1 tests/format/dependencies.py: Test merging of multiple dependencies
add af478ca _loader/loadelement.pyx: Added `path` property
add 42c5ee0 element.py: Adding new configure_dependencies() public API method
add b0b62be tests/format/dependencies.py: Adding tests for dependency `config` attributes
add 0d724a0 doc: Documenting dependency configurations
add 172c740 tests/frontend/overlaps.py: Test multiple calls to Element.stage_dependency_artifacts()
add e135b78 ScriptElement: Porting to new API
add dc3132c NEWS: Updated for breaking changes related to ScriptElement
add f72013b buildelement.py: Remove legacy command steps
add 320a51e buildelement.py: Implement "location" dependency configuration
add 055e531 tests/cachekey: Added new cachekey test for new BuildElement configuration
add c8beeb4 tests/integration/manual.py: Test staging files in custom directories
add c30a1af NEWS: Documenting BuildElement's new dependency configuration
add a7e2c92 Merge branch 'tristan/dependency-config' into 'master'
add d969195 element.py: Clarify weak and strict key descriptions in __update_cache_keys()
add ee43d10 Merge branch 'tristan/fix-cache-key-comments' into 'master'
add 14377d4 Element: Substitute variables on dependency configurations
add 3790e90 Sandbox: Assert absolute paths where they are set
add be7d81b ArtifactElement: Don't call Sandbox.set_output_directory()
add b792b12 Sandbox: Remove Sandbox.set_output_directory()
add ee99076 .gitlab-ci.yml: Use ported plugins and fdsdk for overnight tests
add 34d69a5 Merge branch 'tristan/fix-overnight-tests' into 'master'
add ea753a4 __init__.py: Added missing import of Directory, this is public API
add b583317 source.py: Remove BST_KEY_REQUIRES_STAGE
add fad0b9d _elementsources.py: Raise SkipJob() when tracking is unimplemented by all sources
add b46095d tests/frontend/track.py: Test behavior of SKIP messages
add 9fba7a1 Merge branch 'tristan/remove-bst-key-requires-stage' into 'master'
add d3e07d9 filter.py: Combine integration commands in assemble()
add 4ec05a8 tests/integration/filter.py: Add test_filter_pass_integration_uncached
add bb31733 Merge branch 'juerg/filter-pass-integration' into 'master'
add 344ab38 ScriptElement: Fix logging regression
add 89a8c9d BuildElement: Fix logging regression
add 9861583 Merge branch 'tristan/fix-logging-regression' into 'master'
add 7a83caa _loader/loadelement.pyx: Support multiple filenames in a dependency
add 14f9e47 tests/format/dependencies3/elements/supported2.bst: Adding comment
add 295d65b tests/format/dependencies.py: Testing shorthand dependency configurations
add d2b0039 tests/format/dependencies.py: Test bad filename configuration
add 4831f5b doc: Documenting ability to specify multiple filenames in a dependency.
add 0d35e6c Merge branch 'tristan/dependency-multi-filename' into 'master'
add cecf848 _artifactcache.py: link_key(): Update reference if it exists already
add 5ad83f6 _artifact.py: Assert that proto is available after `set_cached()`
add ba659a8 _artifact.py: Add pull() method
add eecd703 element.py: Use Artifact.pull() method
add c7a2ea2 Merge branch 'juerg/artifact-pull' into 'master'
add d1885ea element.py: Handle uncached state in _push()
add c832176 element.py: Add skip_uncached parameter to _skip_push()
add 498e683 _stream.py: Pull missing artifacts in push()
add 348108d Merge branch 'juerg/push' into 'master'
add 751c80d Refactor: Lazily instantiate ProvenanceInformation objects
add ea235b9 Merge branch 'tristan/lazy-provenance' into 'master'
add 8d9bf02 element.py: Stop computing cache keys when caching, we should have them
add 818790d element.py: Ensure element methods with side effects on others are not called in jobs
add eb6546e Merge branch 'bschubert/stricter-job-scheduler-separation' into 'master'
add 16e2966 _loader/loader.py: Track link elements and resolve overrides
add 4b2e56f tests/format/junctions.py: Test that we can use a link to address which subproject to override
add bfdf229 tests/format/junctions.py: Test that links work for override keys in nested projects
add 3defda9 tests/format/junctions.py: Test multiple layers of link indirection in overrides
add 88e3289 Merge branch 'tristan/fix-overriding-links' into 'master'
add ea954ae element.py: Remove unused import of OrderedDict()
add 1d98d14 Merge branch 'tristan/remove-unused-import' into 'master'
add d164ae3 src/buildstream/testing/_utils/site.py: Adding have_subsecond_mtime()
add f2579be tests/internals/storage_vdir_import.py: Conditionally skip
add f9ddbaa tests/artifactcache/expiry.py: Conditionally skip some tests
add 3a604d7 tests/internals/utils_move_atomic.py: Conditionally skip a test
add aee4915 tests/frontend/track.py: Conditionally skip a test
add 8a74348 Merge branch 'tristan/conditional-subsecond-precision' into 'master'
add 4cd14b1 scheduler.py: Invoke the ticker callback at the end of run()
add 5a82e0d Merge branch 'juerg/scheduler-ticker' into 'master'
add df68855 workspace.py: Simplify test by only allowing opening a single workspace
add 4eaf1ba workspace.py: Remove arguments that are unused during the test
add f1986c1 workspace.py: Remove some abstractions and write the whole test in place
add 1263d86 workspace.py: Simplify invocation of the cli command
add 82e0265 workspace.py: Don't use the same directory for everything
add dda4690 Merge branch 'bschubert/simplify-workspace-test' into 'master'
add f034b65 _frontend/cli.py: Drop support for bst shell --use-buildtree=ask
add 30db528 _frontend/cli.py: Make bst shell --use-buildtree imply --build
add cddfbbb _stream.py: Use callback for shell prompt
add 5708857 Move shell element loading logic from Cli to Stream
add 2eab306 element.py: Add optional scope parameter to _set_required()
add e1b40fa _stream.py: Simplify code in shell()
add f972a18 _frontend/cli.py: Drop support for bst shell --use-buildtree=try
add 3661adf Regenerate man pages
add 06a703d NEWS: Add note about the `bst shell --use-buildtree` change
add 7038a50 Merge branch 'juerg/shell' into 'master'
add 7677341 Adding _DisplayKey type
add 553afa3 _elementsources.py: Fix copy/paste error in API doc comment
add ff7a957 _artifactcache.py: Use Element._get_display_key()
add 30f2260 element.py: Remove Element._get_brief_display_key()
add 80d02e3 _messenger.py: Use kwargs in timed_activity() and simple_task()
add f083c0e Restore task element name / element name distinction in UI
add 7aa3a16 tests/frontend/logging.py: Test log lines for correct element names/keys
add a39b57a Merge branch 'tristan/fix-logging-element-names' into 'master'
add ceeca58 _loader/loader.py: Avoid double dictionary lookup
add c5956f5 _loader/loader.py: Fix _load_file() for cross project link element loads.
add b442bb5 _loader/loader.py: Fixing new pylint "no-member" error
add cd0243f Merge branch 'tristan/loader-fixes' into 'master'
add 8125386 get release and snapshot badges from docs website
add 8616fc5 Merge branch 'dwinship/get-release-and-snapshot-badges-from-docs-website' into 'master'
add 8fdab36 testutils/platform: Refactor to be compatible with Python 3.9
add 7fee0e6 Merge branch 'chandan/py39-platform' into 'master'
add 6815013 _loader/loader.py: Support overriding elements
add 4521792 tests/format/junctions.py: Testing element override scenarios
add 6bf78c0 plugins/elements/junction.py: Documenting element overrides.
add 5d51b8d Merge branch 'tristan/override-elements' into 'master'
add 1dc4879 _stream.py: Make `_enqueue_plan` a timed activity
add 2640289 Merge branch 'bschubert/notify-prepare-plan' into 'master'
add e0d1d28 tox.ini/.gitlab-ci.yml: Add test environment for Python 3.9
add 0564384 NEWS/setup.py: Advertise our support for Python 3.9
add 9f20514 Merge branch 'chandan/py39' into 'master'
add 6561c69 src/buildstream/element.py: __use_remote_execution() reword desc
add f6ee38f Merge branch 'tpollard/drop_plugin_comment' into 'master'
add 6fd3b0b _stream.py: Only optionally try to glob for artifact names
add 2991a5d _stream.py: Use consistent glob handling with utils.glob()
add 8aadb61 _stream.py: Use consistent glob handling with utils.glob()
add 524c2c0 tests/frontend/artifact_show.py: Added tests for glob pattern matches.
add 84e964a tests/frontend/show.py: Added test for glob pattern matches.
add 9eee335 Merge branch 'tristan/fix-glob-handling' into 'master'
add e831b7d tests/frontend/push.py: Skip expiry test without subsecond mtime
add 8c0c1f9 Merge branch 'juerg/ci' into 'master'
add 51fbd66 setup.py: Ensure we have a version number
add 19a450c Merge branch 'chandan/setup-py-version-warn' into 'master'
add e6b7aab tests/artifactcache/config.py: Fixed generated project to include min-version
add 0ddf0ce tests/sourcecache/config.py: Fixed generated project to include min-version
add ad39875 tests/sandboxes/remote-exec-config.py: Fixed generated project to include min-version
add 6b961f2 Merge branch 'tristan/version-error-fix' into 'master'
add 7a9735d utils.py: Don't block on the call's `communicate` call
add c7fc964 _signals.py: allow calling signal handler from non-main threads
add 11b2aa7 element.py: Stop setting a deterministic umask for staging sources
add 0360bc1 downloadablefilesource.py: Reset the file opener between every test
add be88eae plugin.py: Add a helper to run blocking processes in subprocesses
add 705d002 scheduler.py: Use threads instead of processes for jobs
add 6cec972 utils.py: remove 'is_single_threaded' method, we use it only in tests
add c984734 scheduler.py: Reconnect signal handlers sooner
add 458c057 Merge branch 'bschubert/no-multiprocessing' into 'master'
add 57beae4 job.py: Remove the ability to send child data to the parent
add 79d1eca job.py: Stop sending the result from a job through the pipe
add ded144e job.py: Stop sending errors through the child-parent pipe, and set it directly
add 3f07e60 job.py: Simplify handling of messages through the parent-child pipe
add 5f68adb Merge branch 'bschubert/optimize-job' into 'master'
add 4828aa3 _yaml.pyi: Adding declaration for _yaml.load()
add f10feb3 node.pyi: Adding missing forward declarations
add 3fa8d74 sandbox/_config.py, element.py: Refactor SandboxConfig
add 548b23d _protos: Regenerated protos for artifact proto update
add 965da0a _artifact.py: Store additional metadata on the artifact
add 837acb9 _artifactcache.py: Fixed logging messages to display cache keys
add fd298b1 element.py: Added missing api doc comment for _walk_artifact_files()
add 85bc237 _stream.py: Add _load_artifacts() here
add 5352d7b _stream.py: Centralize application state cleanup
add 5ace573 _project.py, _artifactproject.py: Adding ArtifactProject
add f9cf2e5 _artifact.py: Added properties for cache key access
add 83ca987 Refactor ArtifactElement instantiation
add 69e89fa tests/integration/artifact.py: Test preservation of environment variables
add 7f69411 Merge branch 'tristan/refactor-artifact-elements' into 'master'
add 60fd8c3 requirements: Update all requirements
add 642e423 Merge branch 'bschubert/coverage' into 'master'
add 2b9fbf3 _context.py: don't delete bst1 extract directory
add b6ea793 Merge branch 'abderrahim/no-delete-extract' into 'master'
add c493a99 .gitlab-ci.yml: Disable parallel testing on centos-7.7 and ubuntu-18.04
add 47ef74f Merge branch 'juerg/ci' into 'master'
add c35f843 Move _reachable_refs_dir() method from cascache.py to testutils
add b480a2a cascache.py: Reimplement _fetch_directory() with FetchTree()
add 0b5155e cascache.py: Also fetch file blobs in _fetch_directory()
add 1029ea0 cascache.py: Remove _ensure_blob() method
add 1c8e13c cascache.py: Remove unused parameters from add_object()
add 604fa06 cascache.py: Add add_objects() method
add 698330a cascache.py: Optimize _fetch_tree() using add_objects()
add 8c69767 cascache.py: Generalize remote_missing_blobs() into missing_blobs()
add a501b0e cascache.py: Add open() method
add c836b7b Use CASCache.open()
add 2704394 Merge branch 'juerg/cas' into 'master'
add f9ac481 _state.py: Rename _Task -> Task
add cbc8e78 Refactor: Use explicit invocation for retrying jobs.
add 4c7656f _state.py: Full type hinting
add ae3344b Merge branch 'tristan/refactor-retry-task' into 'master'
add 766330f doc/source/format_declaring.rst: Minor corrections and added references.
add fe6523a doc: Documenting "artifact names".
add 61cc93d plugins/elements/stack.py: Require all dependencies be build & run.
add 0b94cd1 NEWS: Document breaking change, stack element dependencies must be build + run
add 091c9c8 tests/format/stack.py: Test stack dependency types
add 75eb8c1 Merge branch 'tristan/stack-require-depends-all' into 'master'
add 66120e6 _stream.py, _frontend/widget.py: Fix weird hack
add 2e4800f Merge branch 'tristan/fix-artifact-name-hack' into 'master'
add e35c19d .gitlab-ci.yml: No need special runner for cached overnigth test
add 5987418 Merge branch 'jjardon/bst_master_fix_overnigth' into 'master'
add 95c3330 _stream.py: Added missing machine readable error codes
add 98c8070 testing/runcli.py: Create the directory in Cli() __init__()
add 9a12438 testing/__init__.py: Expose the Cli() instance
add 6ea7077 testutils/__init__.py: Expose the internal ArtifactShare object
add 20529b0 tests/integration/shellbuildtrees.py: Use module scope fixtures and parametrize
add ba5664f Merge branch 'tristan/refactor-shell-builtree-tests' into 'master'
add a15c16c _messenger.py: Adding (almost) full pep484 type annotations.
add dc49eb8 _messenger.py: Adding convenience methods for issuing info and warn messages
add 23b2ff1 _stream.py: Remove private _message() function
add 0f658ee _pipeline.py: Remove private _message() function
add 6a703cd _assetcache.py: Remove private _message() function
add 54e59c0 _cas/casdprocessmanager.py: Use Messenger convinence functions.
add 50c0e9c _project.py: Use Messenger convenience functions
add 4252f55 _loader/loader.py: Use Messenger convenience functions
add cd5a8ef _scheduler/scheduler.py: Use Messenger convenience functions
add 7e76770 _pluginfactory/pluginfactory.py: Use Messenger convenience functions
add 7eb616f sandbox/sandbox.py: Use Messenger convenience functions
add 90112aa sandbox/_sandboxremote.py: Use Messenger convenience functions
add ad4cbd3 sandbox/_sandboxbuildboxrun.py: Use Messenger conveinence functions
add 096c729 Merge branch 'tristan/messenger-convenience-functions' into 'master'
add 5a004b8 tests/frontend/push.py: Fix fallout from recent tests
add 6904c13 Merge branch 'tristan/fix-broken-test' into 'master'
add 73dde7d tests/internals/pluginloading.py: Removed test
add 24680e5 _stream.py: Add internal _resolve_remotely_cached()
add 1d7acf2 _stream.py: Added internal _load_elements()
add d3b6e9d _stream.py: Add internal _resolve_elements()
add 8c38451 _stream.py: Added internal _track_cross_junction_filter()
add 5bf376f _stream.py: Don't use Pipeline.add_elements()
add fab2c73 _pipeline.py: Remove check_remotes()
add 8fbfc4b _pipeline.py: Remove load() method
add 2c1bb09 _pipeline.py: Remove resolve_elements().
add bcb339d _pipeline.py: Remove track_cross_junction_filter()
add 082a5ca _pipeline.py: Remove add_elements()
add 5ccacfc _pipeline.py/_stream.py: Remove Pipeline object
add 74833a7 Merge branch 'tristan/dissolve-pipeline' into 'master'
add 32b155c .asf.yaml: Adding initial github configuration
add 1d8f470 .asf.yaml: Unprotecting branches until migration is complete
add 9fd8558 Test Actions
add 42d13b7 Remove notes
add 0b187c8 Move CI_IMAGE to global scope
add 23e2af9 Add no-usedevelop job
add be8b9e5 Add tests-plugins-master job
add bd3a7f3 Add missing-deps test job
add a4e0056 Move PYTEST_ARGS to top-level env
add b7c4258 .github/workflows/ci.yml: Use fresh docker images
add 44ff8e1 .github/workflows/ci.yml: Fix TOXENV, there is no py6-plugins env.
add 43b9284 .github/workflows/ci.yml: Add py38 to the toxenv list
add 944d22e .github/workflows/ci.yml: Disable parallelism in pytest
add 41d3fe5 .github/workflows/ci.yml: Generate test runner script
add af87b46 .github/workflows/ci.yml: Upload an artifact from the docs job
add bf48af7 .github/workflows/ci.yml: Ensure we rebuild the docs sessions in CI
add 51acea3 .github/workflows/release.yml: Add release.yml workflow for uploading releases
add e52715c .github/workflows/merge.yml: Publish docs post merge
add 6faceda Fixing merge CI to update github pages
add 33aae13 .github/workflows/merge.yml: Generate the gh-pages branch with .nojekyll
add a74dcb4 .github/workflows/ci.yml: Checkout using tags
add e1b96c1 _types.pyx: Fixing new error from updated sphinx
add ee9cf3a .asf.yaml: Enable publishing master docs to github pages
add cd2f743 Removing all traces of gitlab metadata
add 1000229 BuildStream.doap: Remove BuildStream.doap
add b8736e4 CONTRIBUTING.rst: Updating some references to gitlab
add 91c6dce COMMITTERS.rst: s/gitlab/github
add ccd03ee doc/source/arch_sandboxing.rst: s/gitlab/github
add 2440543 doc/source/additional_docker.rst: s/gitlab/github
add 044c917 doc/source/hacking/ui.rst: s/gitlab/github
add 24bfee7 doc/source/main_install.rst: s/gitlab/github
add c02e5c1 docs examples: s/gitlab/github
add 7bbed2e .github/workflows/ci.yml: Enable CI to run on pull request events.
add 1d669eb .github/workflows/ci.yml: Enhance CI run conditions
add 00a339c .github/CODEOWNERS: Added the CODEOWNERS file
add 9cb0e58 .asf.yaml: Testing protection of multiple branches
add 459fcd4 .asf.yaml: Testing protected branches with dictionary
add 7e78955 .asf.yaml: Test removing review requirement
add cd48ee0 ci: Replace docker CLI monstrosity with Compose
add 2327e5c ci: Enable parallelism for tests
new eae7bd3 fixup! ci: Replace docker CLI monstrosity with Compose
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (4a86e5d)
\
N -- N -- N refs/heads/chandan/test (eae7bd3)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.asf.yaml | 46 +
.github/CODEOWNERS | 6 +
.github/compose/ci.docker-compose.yml | 64 +
.github/workflows/ci.yml | 104 +
.github/workflows/merge.yml | 73 +
.github/workflows/release.yml | 40 +
.gitignore | 3 +
.gitlab-ci.yml | 11 -
.gitlab-ci/buildgrid-compose.yml | 72 -
.gitlab/issue_templates/bst_bug.md | 38 -
.gitlab/issue_templates/bst_task.md | 19 -
.../merge_request_templates/bst_merge_request.md | 19 -
.../merge_request_templates/stale_MR_message.md | 11 -
.pylintrc | 24 +-
BuildStream.doap | 32 -
COMMITTERS.rst | 42 +-
CONTRIBUTING.rst | 1976 +---------
MANIFEST.in | 16 +-
NEWS | 625 +++-
README.rst | 8 +-
contrib/update_committers.py | 22 +-
doc/Makefile | 21 +-
doc/bst2html.py | 7 +-
doc/examples/autotools/project.conf | 4 +-
.../elements/base.bst | 0
doc/examples/composition/elements/base/alpine.bst | 31 +
.../elements/hello.bst | 0
.../elements/libhello.bst | 0
doc/examples/composition/elements/runtime-only.bst | 23 +
.../files/hello/Makefile | 0
.../files/hello/hello.c | 0
.../files/libhello/Makefile | 0
.../files/libhello/libhello.c | 0
.../files/libhello/libhello.h | 0
doc/examples/composition/project.conf | 12 +
doc/examples/developing/project.conf | 4 +-
.../elements/base.bst | 0
.../elements/base/alpine.bst | 0
doc/examples/directives/elements/hello.bst | 27 +
doc/examples/directives/files/src/Makefile | 12 +
doc/examples/directives/files/src/hello.c | 10 +
doc/examples/directives/include/greeting.bst | 16 +
doc/examples/directives/project.conf | 24 +
.../elements/base.bst | 0
.../elements/base/alpine.bst | 0
doc/examples/filtering/elements/hello.bst | 28 +
.../filtering/elements/libhello-filtered.bst | 17 +
doc/examples/filtering/elements/libhello.bst | 31 +
doc/examples/filtering/files/hello/Makefile | 16 +
doc/examples/filtering/files/hello/hello.c | 25 +
doc/examples/filtering/files/libhello/Makefile | 19 +
.../filtering/files/libhello/default-person.txt | 1 +
.../files/libhello/libhello.c | 0
.../files/libhello/libhello.h | 0
doc/examples/filtering/project.conf | 20 +
doc/examples/first-project/project.conf | 4 +-
.../flatpak-autotools/elements/base/sdk.bst | 12 +-
doc/examples/flatpak-autotools/keys/flathub.gpg | Bin 0 -> 2844 bytes
doc/examples/flatpak-autotools/keys/gnome-sdk.gpg | Bin 629 -> 0 bytes
doc/examples/flatpak-autotools/project.conf | 6 +-
doc/examples/integration-commands/project.conf | 4 +-
doc/examples/junction-includes/elements/hello.bst | 23 +
.../elements/subproject-junction.bst | 17 +
doc/examples/junction-includes/project.conf | 14 +
.../subproject}/elements/base.bst | 0
.../subproject}/elements/base/alpine.bst | 0
.../junction-includes/subproject/include/paths.bst | 7 +
.../junction-includes/subproject/project.conf | 18 +
doc/examples/junctions/autotools/project.conf | 4 +-
doc/examples/junctions/project.conf | 4 +-
.../elements/base.bst | 0
doc/examples/overlaps/elements/base/alpine.bst | 31 +
.../elements/hello.bst | 0
.../elements/libhello.bst | 0
doc/examples/overlaps/elements/runtime-only.bst | 23 +
doc/examples/overlaps/files/hello/Makefile | 14 +
.../files/hello/hello.c | 0
doc/examples/overlaps/files/hello/hello.txt | 1 +
doc/examples/overlaps/files/libhello/Makefile | 19 +
doc/examples/overlaps/files/libhello/hello.txt | 1 +
.../files/libhello/libhello.c | 0
.../files/libhello/libhello.h | 0
doc/examples/overlaps/project.conf | 12 +
doc/examples/running-commands/project.conf | 4 +-
.../elements/base.bst | 0
.../elements/base/alpine.bst | 0
.../strict-mode/elements/hello-dynamic.bst | 22 +
doc/examples/strict-mode/elements/hello-static.bst | 24 +
.../elements/libhello.bst | 0
.../strict-mode/files/hello/Makefile.dynamic | 12 +
.../strict-mode/files/hello/Makefile.static | 12 +
.../files/hello/hello.c | 0
doc/examples/strict-mode/files/libhello/Makefile | 21 +
doc/examples/strict-mode/files/libhello/libhello.c | 9 +
.../files/libhello/libhello.h | 0
doc/examples/strict-mode/project.conf | 12 +
doc/examples/strict-mode/update.patch | 9 +
doc/sessions/autotools.run | 2 +-
doc/sessions/composition.run | 20 +
doc/sessions/developing.run | 2 +-
doc/sessions/directives.run | 35 +
doc/sessions/filtering.run | 33 +
doc/sessions/first-project.run | 2 +-
doc/sessions/flatpak-autotools.run | 2 +-
doc/sessions/integration-commands.run | 2 +-
doc/sessions/junction-includes.run | 25 +
doc/sessions/junctions.run | 12 +-
doc/sessions/overlaps.run | 11 +
doc/sessions/strict-mode.run | 60 +
doc/source/additional_docker.rst | 7 +-
doc/source/advanced-features/junction-elements.rst | 74 -
doc/source/arch_caches.rst | 13 +-
doc/source/arch_remote_execution.rst | 2 +-
doc/source/arch_sandboxing.rst | 63 +-
doc/source/conf.py | 79 +-
doc/source/core_framework.rst | 2 +
doc/source/core_plugins.rst | 12 +-
doc/source/developing/strict-mode.rst | 251 ++
doc/source/developing/workspaces.rst | 6 +-
doc/source/examples/flatpak-autotools.rst | 6 +-
doc/source/format_declaring.rst | 220 +-
doc/source/format_intro.rst | 45 +-
doc/source/format_project.rst | 494 ++-
doc/source/hacking/coding_guidelines.rst | 886 +++++
doc/source/hacking/grpc_protocols.rst | 25 +
doc/source/hacking/making_releases.rst | 255 ++
doc/source/hacking/managing_data_files.rst | 15 +
doc/source/hacking/measuring_performance.rst | 95 +
doc/source/hacking/ui.rst | 77 +
doc/source/hacking/updating_python_deps.rst | 22 +
doc/source/hacking/using_the_testsuite.rst | 269 ++
doc/source/hacking/writing_documentation.rst | 286 ++
doc/source/hacking/writing_plugins.rst | 52 +
doc/source/handling-files/composition.rst | 194 +
doc/source/handling-files/filtering.rst | 203 +
doc/source/handling-files/overlaps.rst | 145 +
doc/source/image-sources/arch-overview.odg | Bin 20118 -> 20818 bytes
doc/source/images/arch-overview.svg | 3923 ++++++++++----------
doc/source/index.rst | 2 +
doc/source/junctions/junction-elements.rst | 92 +
doc/source/junctions/junction-includes.rst | 251 ++
doc/source/junctions/junction-workspaces.rst | 51 +
doc/source/main_glossary.rst | 152 +
doc/source/main_install.rst | 330 ++
doc/source/main_using.rst | 5 +-
doc/source/sample_plugin/setup.py | 5 +-
doc/source/sessions-stored/autotools-build.html | 153 +-
doc/source/sessions-stored/autotools-shell.html | 22 +-
.../sessions-stored/autotools-show-variables.html | 102 +-
doc/source/sessions-stored/composition-build.html | 136 +
.../sessions-stored/composition-list-contents.html | 304 ++
doc/source/sessions-stored/composition-shell.html | 22 +
.../developing-build-after-changes-workspace.html | 42 +-
.../developing-build-after-changes.html | 122 +-
.../developing-close-workspace.html | 14 +-
.../developing-discard-workspace.html | 18 +-
.../developing-reopen-workspace.html | 17 +-
.../developing-reset-workspace.html | 36 +-
.../developing-shell-after-changes.html | 22 +-
.../sessions-stored/developing-soft-reset.html | 14 +-
.../sessions-stored/developing-workspace-list.html | 2 +-
.../sessions-stored/developing-workspace-open.html | 29 +-
.../sessions-stored/directives-build-excited.html | 73 +
.../sessions-stored/directives-build-normal.html | 83 +
.../sessions-stored/directives-build-somber.html | 73 +
.../sessions-stored/directives-shell-excited.html | 22 +
.../sessions-stored/directives-shell-normal.html | 22 +
.../sessions-stored/directives-shell-somber.html | 22 +
.../filtering-list-contents-libhello-filtered.html | 19 +
.../filtering-list-contents-libhello.html | 22 +
.../filtering-shell-with-filter.html | 26 +
.../filtering-shell-without-filter.html | 26 +
.../sessions-stored/first-project-build.html | 44 +-
.../sessions-stored/first-project-checkout.html | 26 +-
doc/source/sessions-stored/first-project-show.html | 14 +-
.../integration-commands-build.html | 178 +-
.../integration-commands-shell.html | 24 +-
.../junction-includes-build-funky.html | 125 +
.../junction-includes-build-normal.html | 135 +
.../junction-includes-shell-funky.html | 23 +
.../junction-includes-shell-normal.html | 23 +
doc/source/sessions-stored/junctions-build.html | 222 +-
doc/source/sessions-stored/junctions-shell.html | 22 +-
.../junctions-workspace-open-subproject.html | 21 +
.../sessions-stored/junctions-workspace-open.html | 25 +-
doc/source/sessions-stored/overlaps-build.html | 75 +
.../sessions-stored/running-commands-build.html | 111 +-
.../sessions-stored/running-commands-shell.html | 22 +-
.../running-commands-show-after.html | 18 +-
.../running-commands-show-before.html | 18 +-
.../strict-mode-build-dynamic-no-strict.html | 77 +
.../strict-mode-build-static-no-strict.html | 75 +
.../strict-mode-run-dynamic-no-strict.html | 26 +
.../strict-mode-run-static-no-strict.html | 26 +
.../strict-mode-show-dynamic-no-strict.html | 17 +
.../strict-mode-show-dynamic-strict.html | 17 +
.../sessions-stored/strict-mode-show-initial.html | 18 +
.../strict-mode-show-static-no-strict.html | 17 +
.../strict-mode-workspace-open.html | 21 +
doc/source/tutorial/autotools.rst | 4 +-
doc/source/tutorial/directives.rst | 175 +
doc/source/tutorial/first-project.rst | 2 +-
doc/source/tutorial/integration-commands.rst | 6 +-
doc/source/tutorial/running-commands.rst | 2 +-
doc/source/using_advanced_features.rst | 13 -
doc/source/using_commands.rst | 50 +
doc/source/using_config.rst | 13 +
doc/source/using_configuring_cache_server.rst | 16 +
doc/source/using_developing.rst | 11 +-
doc/source/using_handling_files.rst | 12 +
doc/source/using_junctions.rst | 14 +
doc/source/using_tutorial.rst | 5 +-
man/bst-artifact-checkout.1 | 13 +-
man/bst-artifact-delete.1 | 6 +-
man/bst-artifact-list-contents.1 | 15 +
man/bst-artifact-log.1 | 36 +-
man/bst-artifact-pull.1 | 10 +-
man/bst-artifact-push.1 | 10 +-
man/bst-artifact-server.1 | 13 +-
man/bst-artifact-show.1 | 12 +
man/bst-artifact.1 | 32 +-
man/bst-build.1 | 28 +-
man/bst-help.1 | 2 +-
man/bst-init.1 | 8 +-
man/bst-shell.1 | 13 +-
man/bst-show.1 | 19 +-
man/bst-source-checkout.1 | 18 +-
man/bst-source-fetch.1 | 14 +-
man/bst-source-push.1 | 31 +
man/bst-source-track.1 | 6 +-
man/bst-source.1 | 8 +-
man/bst-workspace-close.1 | 2 +-
man/bst-workspace-list.1 | 2 +-
man/bst-workspace-open.1 | 5 +-
man/bst-workspace-reset.1 | 7 +-
man/bst-workspace.1 | 2 +-
man/bst.1 | 4 +-
pyproject.toml | 17 +
requirements/cov-requirements.in | 1 +
requirements/cov-requirements.txt | 20 +-
requirements/dev-requirements.in | 5 +-
requirements/dev-requirements.txt | 42 +-
requirements/plugin-requirements.in | 1 -
requirements/plugin-requirements.txt | 1 -
requirements/requirements.in | 4 +-
requirements/requirements.txt | 26 +-
setup.cfg | 33 +-
setup.py | 353 +-
src/buildstream/__init__.py | 10 +-
src/buildstream/__main__.py | 3 +-
src/buildstream/_artifact.py | 403 +-
src/buildstream/_artifactcache.py | 428 ++-
src/buildstream/_artifactelement.py | 124 +-
src/buildstream/_artifactproject.py | 88 +
src/buildstream/_assetcache.py | 657 ++++
src/buildstream/_basecache.py | 306 --
src/buildstream/_cachekey.py | 2 +-
src/buildstream/_cas/__init__.py | 4 +-
src/buildstream/_cas/cascache.py | 986 ++---
src/buildstream/_cas/casdprocessmanager.py | 350 ++
src/buildstream/_cas/casremote.py | 338 +-
src/buildstream/_cas/casserver.py | 723 ++--
src/buildstream/_context.py | 282 +-
src/buildstream/_elementfactory.py | 63 -
src/buildstream/_elementproxy.py | 184 +
src/buildstream/_elementsources.py | 486 +++
src/buildstream/_elementsourcescache.py | 330 ++
src/buildstream/_exceptions.py | 156 +-
src/buildstream/_frontend/app.py | 618 +--
src/buildstream/_frontend/cli.py | 1250 ++++---
src/buildstream/_frontend/complete.py | 71 +-
src/buildstream/_frontend/linuxapp.py | 7 +-
src/buildstream/_frontend/profile.py | 5 +-
src/buildstream/_frontend/status.py | 219 +-
src/buildstream/_frontend/widget.py | 520 +--
src/buildstream/_fuse/__init__.py | 20 -
src/buildstream/_fuse/fuse.py | 1001 -----
src/buildstream/_fuse/hardlinks.py | 220 --
src/buildstream/_fuse/mount.py | 196 -
src/buildstream/_gitsourcebase.py | 780 ++--
src/buildstream/_includes.py | 162 +-
src/buildstream/_loader/__init__.py | 4 +-
src/buildstream/_loader/_loader.pyi | 1 +
src/buildstream/_loader/loadcontext.py | 270 ++
src/buildstream/_loader/loadelement.pyi | 15 +
src/buildstream/_loader/loadelement.pyx | 445 ++-
src/buildstream/_loader/loader.py | 960 +++--
src/buildstream/_loader/metaelement.py | 61 -
src/buildstream/_loader/metasource.py | 6 +-
src/buildstream/_loader/types.py | 44 +
src/buildstream/_loader/types.pyx | 212 --
src/buildstream/_message.py | 80 +-
src/buildstream/_messenger.py | 448 ++-
src/buildstream/_options/option.py | 24 +-
src/buildstream/_options/optionarch.py | 13 +-
src/buildstream/_options/optionbool.py | 25 +-
src/buildstream/_options/optioneltmask.py | 4 +-
src/buildstream/_options/optionenum.py | 36 +-
src/buildstream/_options/optionflags.py | 42 +-
src/buildstream/_options/optionos.py | 3 +-
src/buildstream/_options/optionpool.py | 66 +-
src/buildstream/_overlapcollector.py | 328 ++
src/buildstream/_pipeline.py | 703 ++--
src/buildstream/_platform/darwin.py | 70 -
src/buildstream/_platform/fallback.py | 37 -
src/buildstream/_platform/linux.py | 145 -
src/buildstream/_platform/platform.py | 195 +-
src/buildstream/_plugincontext.py | 286 --
src/buildstream/_pluginfactory/__init__.py | 50 +
src/buildstream/_pluginfactory/elementfactory.py | 53 +
src/buildstream/_pluginfactory/pluginfactory.py | 387 ++
src/buildstream/_pluginfactory/pluginorigin.py | 186 +
.../_pluginfactory/pluginoriginjunction.py | 88 +
.../_pluginfactory/pluginoriginlocal.py | 46 +
src/buildstream/_pluginfactory/pluginoriginpip.py | 110 +
src/buildstream/_pluginfactory/sourcefactory.py | 54 +
src/buildstream/_pluginproxy.py | 90 +
src/buildstream/_profile.py | 66 +-
src/buildstream/_project.py | 888 +++--
src/buildstream/_projectrefs.py | 20 +-
.../_protos/build/bazel/remote/asset}/__init__.py | 0
.../build/bazel/remote/asset/v1}/__init__.py | 0
.../build/bazel/remote/asset/v1/remote_asset.proto | 445 +++
.../bazel/remote/asset/v1/remote_asset_pb2.py | 682 ++++
.../bazel/remote/asset/v1/remote_asset_pb2_grpc.py | 329 ++
.../remote/execution/v2/remote_execution.proto | 506 ++-
.../remote/execution/v2/remote_execution_pb2.py | 1127 ++++--
.../execution/v2/remote_execution_pb2_grpc.py | 1377 ++++---
.../_protos/build/bazel/semver/semver_pb2.py | 18 +-
.../_protos/build/bazel/semver/semver_pb2_grpc.py | 1 +
.../_protos/build/buildgrid/local_cas.proto | 88 +-
.../_protos/build/buildgrid/local_cas_pb2.py | 681 +++-
.../_protos/build/buildgrid/local_cas_pb2_grpc.py | 662 ++--
.../_protos/buildstream/v2/artifact.proto | 45 +-
.../_protos/buildstream/v2/artifact_pb2.py | 216 +-
.../_protos/buildstream/v2/artifact_pb2_grpc.py | 67 +-
.../_protos/buildstream/v2/buildstream.proto | 29 -
.../_protos/buildstream/v2/buildstream_pb2.py | 240 +-
.../_protos/buildstream/v2/buildstream_pb2_grpc.py | 248 +-
.../_protos/buildstream/v2/source.proto | 31 -
.../_protos/buildstream/v2/source_pb2.py | 145 +-
.../_protos/buildstream/v2/source_pb2_grpc.py | 68 +-
.../_protos/google/api/annotations_pb2.py | 11 +-
.../_protos/google/api/annotations_pb2_grpc.py | 1 +
src/buildstream/_protos/google/api/http_pb2.py | 60 +-
.../_protos/google/api/http_pb2_grpc.py | 1 +
.../_protos/google/bytestream/bytestream_pb2.py | 53 +-
.../google/bytestream/bytestream_pb2_grpc.py | 338 +-
.../_protos/google/longrunning/operations_pb2.py | 76 +-
.../google/longrunning/operations_pb2_grpc.py | 315 +-
src/buildstream/_protos/google/rpc/code_pb2.py | 61 +-
.../_protos/google/rpc/code_pb2_grpc.py | 1 +
src/buildstream/_protos/google/rpc/status_pb2.py | 18 +-
.../_protos/google/rpc/status_pb2_grpc.py | 1 +
src/buildstream/_remote.py | 271 ++
src/buildstream/_scheduler/jobs/_job.pyi | 1 +
src/buildstream/_scheduler/jobs/_job.pyx | 15 +
src/buildstream/_scheduler/jobs/elementjob.py | 27 +-
src/buildstream/_scheduler/jobs/job.py | 728 ++--
src/buildstream/_scheduler/jobs/jobpickler.py | 132 -
.../_scheduler/queues/artifactpushqueue.py | 9 +-
src/buildstream/_scheduler/queues/buildqueue.py | 33 +-
src/buildstream/_scheduler/queues/fetchqueue.py | 13 +-
src/buildstream/_scheduler/queues/pullqueue.py | 2 +-
src/buildstream/_scheduler/queues/queue.py | 89 +-
.../_scheduler/queues/sourcepushqueue.py | 2 +-
src/buildstream/_scheduler/queues/trackqueue.py | 14 +-
src/buildstream/_scheduler/resources.py | 63 +-
src/buildstream/_scheduler/scheduler.py | 320 +-
src/buildstream/_signals.py | 111 +-
src/buildstream/_site.py | 33 +-
src/buildstream/_sourcecache.py | 248 +-
src/buildstream/_sourcefactory.py | 64 -
src/buildstream/_state.py | 404 +-
src/buildstream/_stream.py | 1600 ++++----
src/buildstream/_types.pyi | 1 +
src/buildstream/_types.pyx | 2 +-
src/buildstream/_utils.pyi | 1 +
src/buildstream/_variables.pyi | 9 +
src/buildstream/_variables.pyx | 838 ++++-
src/buildstream/_version.py | 133 +-
src/buildstream/_versions.py | 11 +-
src/buildstream/_workspaces.py | 234 +-
src/buildstream/_yaml.pyi | 5 +
src/buildstream/_yaml.pyx | 7 +-
src/buildstream/buildelement.py | 217 +-
src/buildstream/data/projectconfig.yaml | 11 +-
src/buildstream/data/userconfig.yaml | 26 +
src/buildstream/downloadablefilesource.py | 290 ++
src/buildstream/element.py | 2956 +++++++--------
src/buildstream/exceptions.py | 148 +
src/buildstream/node.pxd | 4 +-
src/buildstream/node.pyi | 55 +
src/buildstream/node.pyx | 124 +-
src/buildstream/plugin.py | 454 ++-
src/buildstream/plugins/elements/autotools.py | 8 +-
src/buildstream/plugins/elements/compose.py | 58 +-
src/buildstream/plugins/elements/distutils.py | 51 -
src/buildstream/plugins/elements/distutils.yaml | 49 -
src/buildstream/plugins/elements/filter.py | 120 +-
src/buildstream/plugins/elements/filter.yaml | 5 +
src/buildstream/plugins/elements/import.py | 32 +-
src/buildstream/plugins/elements/junction.py | 355 +-
src/buildstream/plugins/elements/link.py | 88 +
src/buildstream/plugins/elements/manual.py | 8 +-
src/buildstream/plugins/elements/pip.py | 51 -
src/buildstream/plugins/elements/pip.yaml | 36 -
src/buildstream/plugins/elements/script.py | 30 +-
src/buildstream/plugins/elements/script.yaml | 28 +-
src/buildstream/plugins/elements/stack.py | 112 +-
.../plugins/sources/_downloadablefilesource.py | 255 --
src/buildstream/plugins/sources/bzr.py | 128 +-
src/buildstream/plugins/sources/deb.py | 83 -
src/buildstream/plugins/sources/git.py | 19 +-
src/buildstream/plugins/sources/local.py | 102 +-
src/buildstream/plugins/sources/patch.py | 25 +-
src/buildstream/plugins/sources/pip.py | 127 +-
src/buildstream/plugins/sources/remote.py | 20 +-
src/buildstream/plugins/sources/tar.py | 84 +-
src/buildstream/plugins/sources/workspace.py | 137 +
src/buildstream/plugins/sources/zip.py | 20 +-
.../repofiles/file => src/buildstream/py.typed | 0
src/buildstream/sandbox/_config.py | 132 +-
src/buildstream/sandbox/_mount.py | 149 -
src/buildstream/sandbox/_mounter.py | 164 -
src/buildstream/sandbox/_sandboxbuildbox.py | 247 --
src/buildstream/sandbox/_sandboxbuildboxrun.py | 222 ++
src/buildstream/sandbox/_sandboxbwrap.py | 515 ---
src/buildstream/sandbox/_sandboxchroot.py | 351 --
src/buildstream/sandbox/_sandboxdummy.py | 11 +-
src/buildstream/sandbox/_sandboxreapi.py | 272 ++
src/buildstream/sandbox/_sandboxremote.py | 537 ++-
src/buildstream/sandbox/sandbox.py | 336 +-
src/buildstream/scriptelement.py | 224 +-
src/buildstream/source.py | 540 ++-
src/buildstream/storage/__init__.py | 1 +
src/buildstream/storage/_casbaseddirectory.py | 566 ++-
src/buildstream/storage/_filebaseddirectory.py | 258 +-
src/buildstream/storage/directory.py | 181 +-
src/buildstream/testing/__init__.py | 23 +-
src/buildstream/testing/_cachekeys.py | 148 +
src/buildstream/testing/_fixtures.py | 63 +
src/buildstream/testing/_forked.py | 94 -
.../testing/_sourcetests/build_checkout.py | 36 +-
src/buildstream/testing/_sourcetests/conftest.py | 17 +
src/buildstream/testing/_sourcetests/fetch.py | 57 +-
src/buildstream/testing/_sourcetests/mirror.py | 324 +-
.../project/files/sub-project/project.conf | 2 +-
.../testing/_sourcetests/project/project.conf | 1 +
.../testing/_sourcetests/source_determinism.py | 91 +-
src/buildstream/testing/_sourcetests/track.py | 247 +-
.../testing/_sourcetests/track_cross_junction.py | 134 +-
src/buildstream/testing/_sourcetests/utils.py | 15 +-
src/buildstream/testing/_sourcetests/workspace.py | 144 +-
src/buildstream/testing/_update_cachekeys.py | 81 +
src/buildstream/testing/_utils/junction.py | 49 +-
src/buildstream/testing/_utils/site.py | 104 +-
src/buildstream/testing/_yaml.py | 24 +
src/buildstream/testing/integration.py | 44 +-
src/buildstream/testing/repo.py | 7 +-
src/buildstream/testing/runcli.py | 300 +-
src/buildstream/types.py | 217 +-
src/buildstream/utils.py | 715 ++--
tests/artifactcache/artifactservice.py | 111 -
tests/artifactcache/capabilities.py | 48 +
tests/artifactcache/config.py | 234 +-
tests/artifactcache/expiry.py | 396 +-
tests/artifactcache/expiry/project.conf | 1 +
tests/artifactcache/junctions.py | 204 +-
.../junctions/parent/base/project.conf | 1 +
tests/artifactcache/junctions/parent/project.conf | 1 +
.../only-one}/element.bst | 0
tests/artifactcache/project/project.conf | 2 +-
tests/artifactcache/pull.py | 89 +-
tests/artifactcache/push.py | 146 +-
tests/cachekey/cachekey.py | 191 +-
tests/cachekey/project/elements/build1.expected | 2 +-
tests/cachekey/project/elements/build2.expected | 2 +-
tests/cachekey/project/elements/build3.bst | 13 +
tests/cachekey/project/elements/build3.expected | 1 +
tests/cachekey/project/elements/compose1.expected | 2 +-
tests/cachekey/project/elements/compose2.expected | 2 +-
tests/cachekey/project/elements/compose3.expected | 2 +-
tests/cachekey/project/elements/compose4.expected | 2 +-
tests/cachekey/project/elements/compose5.expected | 2 +-
tests/cachekey/project/elements/import1.expected | 2 +-
tests/cachekey/project/elements/import2.expected | 2 +-
tests/cachekey/project/elements/import3.expected | 2 +-
tests/cachekey/project/elements/script1.expected | 2 +-
tests/cachekey/project/project.conf | 1 +
tests/cachekey/project/sources/bzr1.expected | 2 +-
tests/cachekey/project/sources/git1.expected | 2 +-
tests/cachekey/project/sources/git2.expected | 2 +-
tests/cachekey/project/sources/git3.expected | 2 +-
tests/cachekey/project/sources/local1.expected | 2 +-
tests/cachekey/project/sources/local2.expected | 2 +-
tests/cachekey/project/sources/patch1.expected | 2 +-
tests/cachekey/project/sources/patch2.expected | 2 +-
tests/cachekey/project/sources/patch3.expected | 2 +-
tests/cachekey/project/sources/pip1.expected | 2 +-
tests/cachekey/project/sources/remote1.expected | 2 +-
tests/cachekey/project/sources/remote2.expected | 2 +-
tests/cachekey/project/sources/tar1.expected | 2 +-
tests/cachekey/project/sources/tar2.expected | 2 +-
tests/cachekey/project/sources/zip1.expected | 2 +-
tests/cachekey/project/sources/zip2.expected | 2 +-
tests/cachekey/project/target.bst | 1 +
tests/cachekey/project/target.expected | 2 +-
tests/cachekey/update.py | 79 -
tests/conftest.py | 134 +-
tests/elements/filter.py | 318 +-
.../filter/basic/element_plugins/dynamic.py | 18 +-
.../filter/basic/elements/forbidden-stack-dep.bst | 4 +
tests/elements/filter/basic/elements/input.bst | 3 +
.../filter/basic/elements/no-pass-integration.bst | 6 +
.../filter/basic/elements/pass-integration.bst | 6 +
tests/elements/filter/basic/elements/stack.bst | 3 +
tests/elements/filter/basic/project.conf | 3 +-
tests/examples/autotools.py | 47 +-
tests/examples/developing.py | 59 +-
tests/examples/first-project.py | 14 +-
tests/examples/flatpak-autotools.py | 43 +-
tests/examples/integration-commands.py | 22 +-
tests/examples/junctions.py | 34 +-
tests/examples/running-commands.py | 24 +-
tests/external_plugins.py | 87 -
tests/format/assertion.py | 51 +-
tests/format/assertion/project.conf | 1 +
tests/format/dependencies.py | 226 +-
.../dependencies1/elements/builddep-list.bst | 4 +-
.../format/dependencies1/elements/list-combine.bst | 2 +-
.../dependencies1/elements/runtimedep-list.bst | 4 +-
tests/format/dependencies1/project.conf | 1 +
.../format/dependencies2/merge-separate-lists.bst | 8 +
tests/format/dependencies2/merge-single-list.bst | 8 +
tests/format/dependencies2/project.conf | 1 +
tests/format/dependencies3/all-all.bst | 11 -
tests/format/dependencies3/build-all.bst | 11 -
tests/format/dependencies3/build-build.bst | 11 -
tests/format/dependencies3/build-runtime.bst | 11 -
tests/format/dependencies3/dep.bst | 4 -
tests/format/dependencies3/elements/dep.bst | 2 +
tests/format/dependencies3/elements/dep2.bst | 2 +
.../dependencies3/elements/invalid-filenames.bst | 13 +
.../dependencies3/elements/runtime-error.bst | 6 +
.../dependencies3/elements/shorthand-config.bst | 10 +
.../dependencies3/elements/shorthand-junction.bst | 11 +
.../dependencies3/elements/subproject.bst} | 0
tests/format/dependencies3/elements/supported1.bst | 6 +
tests/format/dependencies3/elements/supported2.bst | 15 +
.../format/dependencies3/elements/unsupported.bst | 6 +
.../dependencies3/plugins/configsupported.py | 29 +
.../dependencies3/plugins/configunsupported.py | 19 +
tests/format/dependencies3/project.conf | 12 +-
tests/format/dependencies3/runtime-all.bst | 11 -
tests/format/dependencies3/runtime-runtime.bst | 11 -
tests/format/dependencies3/subproject/project.conf | 2 +
.../dependencies3/subproject/sub.txt} | 0
tests/format/dependencies3/subproject/target-a.bst | 4 +
tests/format/dependencies3/subproject/target-b.bst | 4 +
tests/format/include.py | 370 +-
.../element.bst | 0
.../enable_work_around.yml | 5 +
.../conditional-conflicts-complex/extra_conf.yml | 5 +
.../extra_conf_i586.yml | 4 +
.../extra_conf_x86_64.yml | 4 +
.../conditional-conflicts-complex/options.yml | 9 +
.../conditional-conflicts-complex/project.conf | 7 +
.../conditional-conflicts-complex/work_around.yml | 3 +
.../conditional-conflicts-element/element.bst | 5 +
.../extra_conf.yml | 0
.../conditional-conflicts-element/project.conf | 11 +
.../conditional-conflicts-element/work_around.yml | 5 +
.../element.bst | 0
.../extra_conf.yml | 0
.../options.yml | 9 +
.../project.conf | 7 +
.../work_around.yml | 5 +
.../element.bst | 0
.../extra_conf.yml | 0
.../conditional-conflicts-project/project.conf | 15 +
.../conditional-conflicts-project/work_around.yml | 5 +
.../element.bst | 0
.../extra_conf.yml | 0
.../project.conf | 23 +
.../work_around.yml | 5 +
tests/format/include/conditional/project.conf | 1 +
.../format/include/eventual_overrides/project.conf | 1 +
tests/format/include/file/project.conf | 1 +
.../include/file_with_subproject/project.conf | 1 +
.../file_with_subproject/subproject/project.conf | 1 +
.../format/include/full_path/elements/element.bst | 6 +
.../format/include/full_path/elements/invalid.bst | 4 +
.../full_path}/elements/subproject.bst | 0
tests/format/include/full_path/project.conf | 4 +
.../subproject/elements/subsubproject-junction.bst | 0
.../full_path/subproject}/files/hello.txt | 0
.../include/full_path/subproject/project.conf | 4 +
tests/format/include/full_path/subproject/sub.yaml | 1 +
.../subproject/subsubproject/project.conf | 2 +
.../full_path/subproject/subsubproject/subsub.yaml | 1 +
tests/format/include/inner/project.conf | 1 +
tests/format/include/junction/project.conf | 1 +
.../include/junction/subproject/project.conf | 1 +
.../{sub-include => junction_options}/element.bst | 0
tests/format/include/junction_options/project.conf | 5 +
.../junction_options/subproject/extra_conf.yml | 7 +
.../junction_options/subproject/project.conf | 12 +
.../element.bst | 0
.../include/junction_options_deep/project.conf | 5 +
.../subproject-1/extra_conf.yml | 2 +
.../subproject-1/project.conf | 2 +
.../subproject-2/extra_conf.yml | 7 +
.../subproject-2/project.conf | 12 +
.../include/junction_options_element/element.bst | 4 +
.../include/junction_options_element/project.conf | 2 +
.../subproject/extra_conf.yml | 7 +
.../subproject/project.conf | 12 +
.../format/include/local_to_junction/project.conf | 1 +
.../local_to_junction/subproject/project.conf | 1 +
tests/format/include/options/project.conf | 1 +
.../format/include/overrides-junction/project.conf | 1 +
.../overrides-junction/subproject/project.conf | 1 +
tests/format/include/overrides/project.conf | 1 +
.../include/overrides/subproject/project.conf | 1 +
tests/format/include/recursive/project.conf | 1 +
tests/format/include/string/project.conf | 1 +
tests/format/include/sub-include/project.conf | 1 +
tests/format/include_composition.py | 101 +-
tests/format/invalid-keys/project.conf | 1 +
tests/format/invalid_keys.py | 22 +-
tests/format/junctions.py | 913 +++--
tests/format/junctions/bar/app.bst | 7 -
tests/format/junctions/bar/bar.txt | 1 -
tests/format/junctions/bar/base.bst | 4 -
tests/format/junctions/bar/project.conf | 1 -
tests/format/junctions/bar/target.bst | 5 -
tests/format/junctions/base/project.conf | 1 -
.../circular-references/link-subsubsubproject.bst | 4 +
.../junctions/circular-references/project.conf | 2 +
...ject-overriden-with-circular-reference-link.bst | 8 +
...ubproject-overriden-with-circular-reference.bst | 8 +
.../junctions/circular-references/subproject.bst} | 0
.../circular-references/subproject/project.conf | 2 +
.../circular-references/subproject/sub.txt} | 0
.../subproject/subsubproject.bst | 4 +
.../subproject/subsubproject/project.conf | 2 +
.../subproject/subsubproject/subsub.txt} | 0
.../subproject/subsubproject/subsubsubproject.bst | 4 +
.../subsubproject/subsubsubproject/project.conf | 2 +
.../subsubproject/subsubsubproject/subsubsub.txt} | 0
.../subsubproject/subsubsubproject/target.bst | 4 +
.../subproject/subsubproject/target.bst | 4 +
.../circular-references/subproject/target.bst | 4 +
...rget-overridden-subsubproject-circular-link.bst | 4 +
.../target-overridden-subsubproject-circular.bst | 4 +
.../elements/invalid-source-target.bst | 8 -
.../elements/nested-junction-target.bst | 4 -
.../config-target/elements/no-junction.bst | 4 -
.../config-target/elements/subsubproject.bst | 4 -
.../junctions/config-target/elements/target.bst | 4 -
tests/format/junctions/config-target/project.conf | 3 -
.../config-target/subproject/project.conf | 3 -
.../subproject/subsubproject/project.conf | 3 -
tests/format/junctions/conflict/bar.bst | 4 -
tests/format/junctions/conflict/foo.bst | 4 -
tests/format/junctions/conflict/project.conf | 1 -
tests/format/junctions/conflict/target.bst | 6 -
.../conflicts/include-conflict-target.bst | 5 +
.../junctions/conflicts/include-conflict.bst | 7 +
.../conflicts/nested-conflict-toplevel.bst | 4 +
.../junctions/conflicts/override-conflict.bst | 8 +
.../format/junctions/conflicts/plugin-conflict.bst | 4 +
tests/format/junctions/conflicts/project.conf | 2 +
.../format/junctions/conflicts/simple-conflict.bst | 5 +
.../subproject-override-conflicting-path.bst | 13 +
.../junctions/conflicts/subproject.bst} | 0
.../junctions/conflicts/subproject/project.conf | 2 +
.../junctions/conflicts/subproject/sub.txt} | 0
.../subproject/subsubproject-conflict-target.bst | 4 +
.../subproject/subsubproject-conflict.bst | 4 +
.../subsubproject-conflict/deepsurprise.txt} | 0
.../subproject/subsubproject-conflict/project.conf | 2 +
.../subproject/subsubproject-conflict/target.bst | 4 +
.../conflicts/subproject/subsubproject.bst | 4 +
.../subproject/subsubproject/project.conf | 2 +
.../conflicts/subproject/subsubproject/subsub.txt} | 0
.../subproject/subsubproject/subsubsubproject.bst | 4 +
.../subsubproject/subsubsubproject/project.conf | 2 +
.../subsubproject/subsubsubproject/subsubsub.txt} | 0
.../subsubproject/subsubsubproject/target.bst | 4 +
.../conflicts/subproject/subsubproject/target.bst | 4 +
.../junctions/conflicts/subproject/target.bst | 4 +
tests/format/junctions/conflicts/subproject2.bst | 4 +
.../junctions/conflicts/subproject2/inc.yaml | 1 +
.../conflicts/subproject2/plugins/found.py | 19 +
.../junctions/conflicts/subproject2/project.conf | 8 +
.../junctions/conflicts/subproject2/sub2.txt} | 0
.../junctions/conflicts/subproject2/target.bst | 4 +
.../duplicates-nested-full-path/project.conf | 9 +
.../duplicates-nested-full-path/subproject.bst} | 0
.../subproject/project.conf | 2 +
.../subproject/subproject1.bst | 4 +
.../subproject/subproject1/project.conf | 2 +
.../subproject/subproject1/sub.txt} | 0
.../subproject/subproject1/target.bst | 4 +
.../subproject/subproject2.bst | 4 +
.../subproject/subproject2/project.conf | 2 +
.../subproject/subproject2/sub2.txt} | 0
.../subproject/subproject2/target.bst | 4 +
.../duplicates-nested-full-path/subproject3.bst | 4 +
.../subproject3/project.conf | 2 +
.../subproject3/sub3.txt} | 0
.../subproject3/target.bst | 4 +
.../duplicates-nested-full-path/target.bst | 6 +
.../duplicates-nested-incomplete/project.conf | 7 +
.../duplicates-nested-incomplete/subproject.bst} | 0
.../subproject/project.conf | 7 +
.../subproject/subproject1.bst | 4 +
.../subproject/subproject1/project.conf | 2 +
.../subproject/subproject1/sub.txt} | 0
.../subproject/subproject1/target.bst | 4 +
.../subproject/subproject2.bst | 4 +
.../subproject/subproject2/project.conf | 2 +
.../subproject/subproject2/sub2.txt} | 0
.../subproject/subproject2/target.bst | 4 +
.../duplicates-nested-incomplete/subproject3.bst | 4 +
.../subproject3/project.conf | 2 +
.../subproject3/sub3.txt} | 0
.../subproject3/target.bst | 4 +
.../duplicates-nested-incomplete/target.bst | 6 +
.../junctions/duplicates-nested-link1/project.conf | 8 +
.../duplicates-nested-link1/subproject.bst} | 0
.../subproject/project.conf | 7 +
.../subproject/subproject1-link.bst | 4 +
.../subproject/subproject1.bst | 4 +
.../subproject/subproject1/project.conf | 2 +
.../subproject/subproject1/sub.txt} | 0
.../subproject/subproject1/target.bst | 4 +
.../subproject/subproject2.bst | 4 +
.../subproject/subproject2/project.conf | 2 +
.../subproject/subproject2/sub2.txt} | 0
.../subproject/subproject2/target.bst | 4 +
.../duplicates-nested-link1/subproject3.bst | 4 +
.../subproject3/project.conf | 2 +
.../duplicates-nested-link1/subproject3/sub3.txt} | 0
.../duplicates-nested-link1/subproject3/target.bst | 4 +
.../junctions/duplicates-nested-link1/target.bst | 6 +
.../junctions/duplicates-nested-link2/project.conf | 7 +
.../duplicates-nested-link2/subproject.bst} | 0
.../subproject/project.conf | 8 +
.../subproject/subproject1.bst | 4 +
.../subproject/subproject1/project.conf | 2 +
.../subproject/subproject1/sub.txt} | 0
.../subproject/subproject1/target.bst | 4 +
.../subproject/subproject2.bst | 4 +
.../subproject/subproject2/project.conf | 2 +
.../subproject/subproject2/sub2.txt} | 0
.../subproject/subproject2/target.bst | 4 +
.../duplicates-nested-link2/subproject2-link.bst | 4 +
.../duplicates-nested-link2/subproject3.bst | 4 +
.../subproject3/project.conf | 2 +
.../duplicates-nested-link2/subproject3/sub3.txt} | 0
.../duplicates-nested-link2/subproject3/target.bst | 4 +
.../junctions/duplicates-nested-link2/target.bst | 6 +
.../duplicates-nested-not-found/project.conf | 8 +
.../duplicates-nested-not-found/subproject.bst} | 0
.../subproject/project.conf | 7 +
.../subproject/subproject1-link.bst | 4 +
.../subproject/subproject1.bst | 4 +
.../subproject/subproject1/project.conf | 2 +
.../subproject/subproject1/sub.txt} | 0
.../subproject/subproject1/target.bst | 4 +
.../subproject/subproject2.bst | 4 +
.../subproject/subproject2/project.conf | 2 +
.../subproject/subproject2/sub2.txt} | 0
.../subproject/subproject2/target.bst | 4 +
.../duplicates-nested-not-found/subproject3.bst | 4 +
.../subproject3/project.conf | 2 +
.../subproject3/sub3.txt} | 0
.../subproject3/target.bst | 4 +
.../duplicates-nested-not-found/target.bst | 6 +
.../junctions/duplicates-nested/project.conf | 7 +
.../junctions/duplicates-nested/subproject.bst} | 0
.../duplicates-nested/subproject/project.conf | 8 +
.../duplicates-nested/subproject/subproject1.bst | 4 +
.../subproject/subproject1/project.conf | 2 +
.../subproject/subproject1/sub.txt} | 0
.../subproject/subproject1/target.bst | 4 +
.../duplicates-nested/subproject/subproject2.bst | 4 +
.../subproject/subproject2/project.conf | 2 +
.../subproject/subproject2/sub2.txt} | 0
.../subproject/subproject2/target.bst | 4 +
.../junctions/duplicates-nested/subproject3.bst | 4 +
.../duplicates-nested/subproject3/project.conf | 2 +
.../duplicates-nested/subproject3/sub3.txt} | 0
.../duplicates-nested/subproject3/target.bst | 4 +
.../format/junctions/duplicates-nested/target.bst | 6 +
.../junctions/duplicates-override-dup/project.conf | 2 +
.../duplicates-override-dup/subproject.bst | 8 +
.../subproject/project.conf | 8 +
.../subproject/subproject1.bst | 4 +
.../subproject/subproject1/project.conf | 2 +
.../subproject/subproject1/sub.txt} | 0
.../subproject/subproject1/target.bst | 4 +
.../subproject/subproject2.bst | 4 +
.../subproject/subproject2/project.conf | 2 +
.../subproject/subproject2/sub2.txt} | 0
.../subproject/subproject2/target.bst | 4 +
.../duplicates-override-dup/subproject3.bst | 4 +
.../subproject3/project.conf | 2 +
.../duplicates-override-dup/subproject3/sub3.txt} | 0
.../duplicates-override-dup/subproject3/target.bst | 4 +
.../junctions/duplicates-override-dup/target.bst | 5 +
.../duplicates-override-twice-link/duplicate.bst | 4 +
.../duplicate/duplicate.txt} | 0
.../duplicate/project.conf | 2 +
.../duplicate/target.bst | 4 +
.../duplicates-override-twice-link/override.bst | 4 +
.../override/overridden-again.txt} | 0
.../override/project.conf | 2 +
.../override/target.bst | 4 +
.../duplicates-override-twice-link/project.conf | 7 +
.../duplicates-override-twice-link/subproject.bst | 8 +
.../subproject/override.bst | 4 +
.../subproject/override/overridden.txt} | 0
.../subproject/override/project.conf | 2 +
.../subproject/override/target.bst | 4 +
.../subproject/project.conf | 7 +
.../subproject/subsubproject.bst | 8 +
.../subproject/subsubproject/project.conf | 2 +
.../subproject/subsubproject/subsubsubproject.bst | 4 +
.../subsubproject/subsubsubproject/original.txt} | 0
.../subsubproject/subsubsubproject/project.conf | 2 +
.../subsubproject/subsubsubproject/target.bst | 4 +
.../subproject/subsubsubproject-link.bst | 4 +
.../duplicates-override-twice-link/target.bst | 5 +
.../duplicates-simple-incomplete/project.conf | 7 +
.../duplicates-simple-incomplete/subproject1.bst | 4 +
.../subproject1/project.conf | 2 +
.../subproject1/sub.txt} | 0
.../subproject1/target.bst | 4 +
.../duplicates-simple-incomplete/subproject2.bst | 4 +
.../subproject2/project.conf | 2 +
.../subproject2/sub2.txt} | 0
.../subproject2/target.bst | 4 +
.../duplicates-simple-incomplete/target.bst | 5 +
.../junctions/duplicates-simple-link/project.conf | 8 +
.../duplicates-simple-link/subproject1.bst | 4 +
.../subproject1/project.conf | 2 +
.../duplicates-simple-link/subproject1/sub.txt} | 0
.../duplicates-simple-link/subproject1/target.bst | 4 +
.../duplicates-simple-link/subproject2-link.bst | 4 +
.../duplicates-simple-link/subproject2.bst | 4 +
.../subproject2/project.conf | 2 +
.../duplicates-simple-link/subproject2/sub2.txt} | 0
.../duplicates-simple-link/subproject2/target.bst | 4 +
.../junctions/duplicates-simple-link/target.bst | 5 +
.../duplicates-simple-not-found/project.conf | 8 +
.../duplicates-simple-not-found/subproject1.bst | 4 +
.../subproject1/project.conf | 2 +
.../subproject1/sub.txt} | 0
.../subproject1/target.bst | 4 +
.../duplicates-simple-not-found/subproject2.bst | 4 +
.../subproject2/project.conf | 2 +
.../subproject2/sub2.txt} | 0
.../subproject2/target.bst | 4 +
.../duplicates-simple-not-found/target.bst | 5 +
.../junctions/duplicates-simple/project.conf | 8 +
.../junctions/duplicates-simple/subproject1.bst | 4 +
.../duplicates-simple/subproject1/project.conf | 2 +
.../duplicates-simple/subproject1/sub.txt} | 0
.../duplicates-simple/subproject1/target.bst | 4 +
.../junctions/duplicates-simple/subproject2.bst | 4 +
.../duplicates-simple/subproject2/project.conf | 2 +
.../duplicates-simple/subproject2/sub2.txt} | 0
.../duplicates-simple/subproject2/target.bst | 4 +
.../format/junctions/duplicates-simple/target.bst | 5 +
tests/format/junctions/foo/app.bst | 7 -
tests/format/junctions/foo/base.bst | 4 -
tests/format/junctions/foo/foo.txt | 1 -
tests/format/junctions/foo/project.conf | 1 -
tests/format/junctions/foo/target.bst | 5 -
.../full-path/element-full-path-notfound.bst | 3 +
.../junctions/full-path/element-full-path.bst | 3 +
.../full-path/junction-full-path-notfound.bst | 4 +
.../junctions/full-path/junction-full-path.bst | 4 +
tests/format/junctions/full-path/project.conf | 2 +
.../junctions/full-path/subproject.bst} | 0
.../junctions/full-path/subproject/project.conf | 2 +
.../junctions/full-path/subproject/sub.txt} | 0
.../full-path/subproject/subsubproject.bst | 4 +
.../subproject/subsubproject/project.conf | 2 +
.../full-path/subproject/subsubproject/subsub.txt} | 0
.../subproject/subsubproject/subsubsubproject.bst | 4 +
.../subsubproject/subsubsubproject/project.conf | 2 +
.../subsubproject/subsubsubproject/subsubsub.txt} | 0
.../subsubproject/subsubsubproject/target.bst | 4 +
.../full-path/subproject/subsubproject/target.bst | 4 +
.../junctions/full-path/subproject/target.bst | 4 +
.../inconsistent-names/elements/junction-A.bst | 4 -
.../elements/junction-B-diff-name.bst | 4 -
.../inconsistent-names/elements/target.bst | 9 -
.../inconsistent-names/junctionA/elements/app.bst | 6 -
.../junctionA/elements/junction-B.bst | 4 -
.../inconsistent-names/junctionA/elements/lib.bst | 7 -
.../junctionA/junctionB/elements/base.bst | 4 -
.../junctionA/junctionB/elements/lib2.bst | 6 -
.../junctionA/junctionB/project.conf | 5 -
.../inconsistent-names/junctionA/project.conf | 5 -
.../junctions/inconsistent-names/project.conf | 5 -
.../junctions/internal-and-conflict/project.conf | 2 +
.../internal-and-conflict/subproject.bst} | 0
.../internal-and-conflict/subproject/project.conf | 6 +
.../subproject/subsubproject.bst | 4 +
.../subproject/subsubproject/project.conf | 2 +
.../subproject/subsubproject/subsub.txt} | 0
.../subproject/subsubproject/target.bst | 4 +
.../internal-and-conflict/subproject/subtarget.bst | 10 +
.../internal-and-conflict/subsubproject-again.bst | 4 +
.../subsubproject-again/project.conf | 2 +
.../subsubproject-again/subsub-again.txt} | 0
.../subsubproject-again/target.bst | 4 +
.../subsubproject-conflict.bst | 4 +
.../subsubproject-conflict/project.conf | 2 +
.../subsubproject-conflict/subsub-again.txt} | 0
.../subsubproject-conflict/target.bst | 4 +
.../junctions/internal-and-conflict/target.bst | 6 +
.../format/junctions/internal-double/project.conf | 2 +
.../junctions/internal-double/subproject1.bst | 4 +
.../internal-double/subproject1/project.conf | 6 +
.../internal-double/subproject1/subsubproject.bst | 4 +
.../subproject1/subsubproject/project.conf | 2 +
.../subproject1/subsubproject/subsub1.txt} | 0
.../subproject1/subsubproject/target.bst | 4 +
.../internal-double/subproject1/subtarget.bst | 10 +
.../junctions/internal-double/subproject2.bst | 4 +
.../internal-double/subproject2/project.conf | 6 +
.../internal-double/subproject2/subsubproject.bst | 4 +
.../subproject2/subsubproject/project.conf | 2 +
.../subproject2/subsubproject/subsub2.txt} | 0
.../subproject2/subsubproject/target.bst | 4 +
.../internal-double/subproject2/subtarget.bst | 10 +
.../internal-double/subsubproject-again.bst | 4 +
.../subsubproject-again/project.conf | 2 +
.../subsubproject-again/subsub-again.txt} | 0
.../internal-double/subsubproject-again/target.bst | 4 +
tests/format/junctions/internal-double/target.bst | 6 +
tests/format/junctions/internal-link/project.conf | 2 +
.../junctions/internal-link/subproject.bst} | 0
.../internal-link/subproject/project.conf | 6 +
.../subproject/subsubproject-link.bst | 4 +
.../internal-link/subproject/subsubproject.bst | 4 +
.../subproject/subsubproject/project.conf | 2 +
.../subproject/subsubproject/subsub.txt} | 0
.../subproject/subsubproject/target.bst | 4 +
.../internal-link/subproject/subtarget.bst | 10 +
.../internal-link/subsubproject-again.bst | 4 +
.../internal-link/subsubproject-again/project.conf | 2 +
.../subsubproject-again/subsub-again.txt} | 0
.../internal-link/subsubproject-again/target.bst | 4 +
tests/format/junctions/internal-link/target.bst | 5 +
.../junctions/internal-override/project.conf | 2 +
.../junctions/internal-override/subproject.bst | 8 +
.../internal-override/subproject/project.conf | 6 +
.../internal-override/subproject/subsubproject.bst | 4 +
.../subproject/subsubproject/project.conf | 2 +
.../subproject/subsubproject/subsub.txt} | 0
.../subproject/subsubproject/target.bst | 4 +
.../internal-override/subproject/subtarget.bst | 10 +
.../internal-override/subsubproject-again.bst | 4 +
.../subsubproject-again/project.conf | 2 +
.../subsubproject-again/subsub-again.txt} | 0
.../subsubproject-again/target.bst | 4 +
.../internal-override/subsubproject-override.bst | 4 +
.../subsubproject-override/project.conf | 2 +
.../subsubproject-override/subsub-override.txt} | 0
.../subsubproject-override/target.bst | 4 +
.../format/junctions/internal-override/target.bst | 5 +
.../format/junctions/internal-simple/project.conf | 2 +
.../junctions/internal-simple/subproject.bst} | 0
.../internal-simple/subproject/project.conf | 6 +
.../internal-simple/subproject/subsubproject.bst | 4 +
.../subproject/subsubproject/project.conf | 2 +
.../subproject/subsubproject/subsub.txt} | 0
.../subproject/subsubproject/target.bst | 4 +
.../internal-simple/subproject/subtarget.bst | 10 +
.../internal-simple/subsubproject-again.bst | 4 +
.../subsubproject-again/project.conf | 2 +
.../subsubproject-again/subsub-again.txt} | 0
.../internal-simple/subsubproject-again/target.bst | 4 +
tests/format/junctions/internal-simple/target.bst | 5 +
tests/format/junctions/{ => invalid}/base/base.txt | 0
tests/format/junctions/invalid/base/project.conf | 2 +
.../format/junctions/{ => invalid}/base/target.bst | 0
tests/format/junctions/invalid/missing-element.bst | 9 -
tests/format/junctions/invalid/project.conf | 1 +
.../junctions/invalid/subproject-self-override.bst | 16 +
.../junctions/invalid/target-self-override.bst | 4 +
.../bad-junction.bst} | 0
.../junctionA/junctionB/project.conf | 1 +
.../missing-element/junctionA/project.conf | 1 +
.../format/junctions/missing-element/project.conf | 1 +
tests/format/junctions/nested/deeptarget.bst | 6 +
tests/format/junctions/nested/foo.bst | 4 -
tests/format/junctions/nested/project.conf | 3 +-
.../junctions/nested/subproject.bst} | 0
.../junctions/nested/subproject/project.conf | 2 +
.../junctions/nested/subproject/sub.txt} | 0
.../junctions/nested/subproject/subsubproject.bst | 4 +
.../nested/subproject/subsubproject/project.conf | 2 +
.../nested/subproject/subsubproject/subsub.txt} | 0
.../subproject/subsubproject/subsubsubproject.bst | 4 +
.../subsubproject/subsubsubproject/project.conf | 2 +
.../subsubproject/subsubsubproject/subsubsub.txt} | 0
.../subsubproject/subsubsubproject/target.bst | 4 +
.../nested/subproject/subsubproject/subtarget.bst | 4 +
.../nested/subproject/subsubproject/target.bst | 4 +
.../junctions/nested/subproject/subsubtarget.bst | 4 +
.../junctions/nested/subproject/subtarget.bst | 4 +
.../format/junctions/nested/subproject/target.bst | 4 +
tests/format/junctions/nested/target.bst | 5 +-
tests/format/junctions/options-base/project.conf | 9 -
.../format/junctions/options-default/project.conf | 1 -
tests/format/junctions/options-default/target.bst | 4 -
.../format/junctions/options-inherit/project.conf | 10 -
tests/format/junctions/options-inherit/target.bst | 4 -
.../base.bst => options/base-default.bst} | 0
.../options/{base.bst => base-explicit.bst} | 0
.../base.bst => options/base-propagate.bst} | 0
.../junctions/{ => options}/options-base/horsy.txt | 0
.../junctions/{ => options}/options-base/pony.txt | 0
.../junctions/options/options-base/project.conf | 10 +
.../{ => options}/options-base/target.bst | 0
tests/format/junctions/options/project.conf | 1 +
tests/format/junctions/options/target-default.bst | 4 +
tests/format/junctions/options/target-explicit.bst | 4 +
.../format/junctions/options/target-propagate.bst | 4 +
.../junctions/override-element/element.txt} | 0
.../override-element/override-subproject-dep.bst | 11 +
.../override-subproject-element-using-link.bst | 12 +
.../override-subproject-element-with-link.bst | 12 +
.../override-subproject-element.bst | 11 +
.../override-element/override-subsubproject.bst | 12 +
.../format/junctions/override-element/project.conf | 2 +
.../junctions/override-element/subdep-override.bst | 4 +
.../override-element/subdep-override.txt} | 0
.../subelement-alternative-link.bst | 8 +
.../override-element/subelement-override.bst | 14 +
.../override-element/subelement-override.txt} | 0
.../override-element/subproject-override-dep.bst | 8 +
.../subproject-override-element-using-link.bst | 8 +
.../subproject-override-element-with-link.bst | 8 +
.../subproject-override-element.bst | 8 +
.../subproject-override-subsubproject-element.bst | 8 +
.../override-element/subproject/project.conf | 2 +
.../subproject/sub-alternative.txt} | 0
.../junctions/override-element/subproject/sub.txt} | 0
.../override-element/subproject/subdep.txt} | 0
.../override-element/subproject/subdependency.bst | 4 +
.../subproject/subelement-alternative.bst | 7 +
.../subproject/subelement-link.bst | 8 +
.../override-element/subproject/subelement.bst | 7 +
.../subproject/subsubdep-override.bst | 4 +
.../subproject/subsubdep-override.txt} | 0
.../subproject/subsubproject-override-dep.bst | 8 +
.../subproject/subsubproject/project.conf | 2 +
.../subproject/subsubproject/subsub.txt} | 0
.../subproject/subsubproject/subsubdep.txt} | 0
.../subproject/subsubproject/subsubdependency.bst | 4 +
.../subproject/subsubproject/subsubelement.bst | 7 +
tests/format/junctions/override-twice/override.bst | 4 +
.../override-twice/override/overridden-again.txt} | 0
.../junctions/override-twice/override/project.conf | 2 +
.../junctions/override-twice/override/target.bst | 4 +
tests/format/junctions/override-twice/project.conf | 2 +
.../format/junctions/override-twice/subproject.bst | 8 +
.../override-twice/subproject/override.bst | 4 +
.../subproject/override/overridden.txt} | 0
.../subproject/override/project.conf | 2 +
.../override-twice/subproject/override/target.bst | 4 +
.../override-twice/subproject/project.conf | 2 +
.../override-twice/subproject/subsubproject.bst | 8 +
.../subproject/subsubproject/project.conf | 2 +
.../subproject/subsubproject/subsubsubproject.bst | 4 +
.../subsubproject/subsubsubproject/original.txt} | 0
.../subsubproject/subsubsubproject/project.conf | 2 +
.../subsubproject/subsubsubproject/target.bst | 4 +
tests/format/junctions/override-twice/target.bst | 4 +
.../overrides/overridden-subsubproject.bst | 10 +
.../overrides/overridden-subsubsubproject.bst | 10 +
tests/format/junctions/overrides/project.conf | 2 +
.../subproject-overriden-with-deep-subproject.bst | 8 +
...subproject-with-deep-override-indirect-link.bst | 8 +
.../subproject-with-deep-override-link.bst | 8 +
.../overrides/subproject-with-deep-override.bst | 8 +
.../overrides/subproject-with-overridden-link.bst | 8 +
.../overrides/subproject-with-override.bst | 8 +
.../junctions/overrides/subproject.bst} | 0
.../junctions/overrides/subproject/project.conf | 2 +
.../junctions/overrides/subproject/sub.txt} | 0
.../overrides/subproject/subsubproject-link.bst | 4 +
.../overrides/subproject/subsubproject.bst | 4 +
.../subproject/subsubproject/project.conf | 2 +
.../overrides/subproject/subsubproject/subsub.txt} | 0
.../subsubproject/subsubsubproject-link.bst | 4 +
.../subproject/subsubproject/subsubsubproject.bst | 4 +
.../subsubproject/subsubsubproject/project.conf | 2 +
.../subsubproject/subsubsubproject/subsubsub.txt} | 0
.../subsubproject/subsubsubproject/target.bst | 4 +
.../overrides/subproject/subsubproject/target.bst | 4 +
.../subproject/subsubsubproject-indirect-link.bst | 4 +
.../junctions/overrides/subproject/target.bst | 4 +
.../format/junctions/overrides/surpriseproject.bst | 4 +
.../surpriseproject/deepsurpriseproject.bst | 4 +
.../deepsurpriseproject/deepsurprise.txt} | 0
.../deepsurpriseproject/project.conf | 2 +
.../surpriseproject/deepsurpriseproject/target.bst | 4 +
.../overrides/surpriseproject/project.conf | 2 +
.../overrides/surpriseproject/surprise.txt} | 0
.../junctions/overrides/surpriseproject/target.bst | 4 +
.../target-overridden-subsubproject-link.bst | 8 +
.../overrides/target-overridden-subsubproject.bst | 12 +
...t-overridden-subsubsubproject-indirect-link.bst | 7 +
.../target-overridden-subsubsubproject-link.bst | 7 +
.../target-overridden-subsubsubproject.bst | 8 +
.../target-overridden-with-deepsubproject.bst | 4 +
tests/format/junctions/simple/project.conf | 2 +
.../junctions/simple/subproject.bst} | 0
.../junctions/simple/subproject/base.txt} | 0
.../junctions/simple/subproject/project.conf | 2 +
.../{base => simple/subproject}/target.bst | 0
tests/format/junctions/simple/target.bst | 4 +
tests/format/junctions/toplevel/bar.bst | 4 -
tests/format/junctions/toplevel/foo.bst | 4 -
tests/format/junctions/toplevel/project.conf | 1 -
tests/format/junctions/toplevel/target.bst | 6 -
.../junctions/{base => use-repo/baserepo}/base.txt | 0
.../junctions/use-repo/baserepo/project.conf | 2 +
.../{base => use-repo/baserepo}/target.bst | 0
tests/format/junctions/use-repo/project.conf | 2 +
.../junctions/{options => use-repo}/target.bst | 0
tests/format/link.py | 168 +
.../conditional-junctions}/elements/subproject.bst | 0
.../elements/subsubproject-link.bst | 8 +
.../link/conditional-junctions/elements/target.bst | 4 +
.../format/link/conditional-junctions/project.conf | 13 +
.../subproject}/elements/hello.bst | 0
.../elements/subsubproject-goodbye-junction.bst | 5 +
.../elements/subsubproject-hello-junction.bst | 5 +
.../conditional-junctions/subproject/project.conf | 4 +
.../subsubproject-goodbye/elements/target.bst | 5 +
.../subsubproject-goodbye/files/goodbye.txt} | 0
.../subproject/subsubproject-goodbye/project.conf | 4 +
.../subsubproject-hello/elements/target.bst} | 0
.../subsubproject-hello}/files/hello.txt | 0
.../subproject/subsubproject-hello/project.conf | 4 +
tests/format/link/conditional/elements/goodbye.bst | 5 +
.../conditional}/elements/hello.bst | 0
.../link/conditional/elements/target-link.bst | 8 +
tests/format/link/conditional/elements/target.bst | 4 +
.../link/conditional/files/goodbye.txt} | 0
.../conditional}/files/hello.txt | 0
tests/format/link/conditional/project.conf | 13 +
.../link/cross-link-junction-include/project.conf | 4 +
.../cross-link-junction-include/subproject.bst} | 0
.../subproject/project.conf | 2 +
.../subproject/sub.txt} | 0
.../subproject/subsubproject.bst | 4 +
.../subproject/subsubproject/file.yml | 2 +
.../subproject/subsubproject/project.conf | 2 +
.../subproject/subsubproject/subsub.txt} | 0
.../subproject/subsubproject/subtarget.bst | 4 +
.../subproject/subsubproject/target.bst | 4 +
.../subproject/subtarget.bst | 4 +
.../subproject/target.bst | 4 +
.../cross-link-junction-include/subsubproject.bst | 4 +
.../link/cross-link-junction-include/target.bst | 5 +
tests/format/link/invalid/elements/base-file.bst | 5 +
.../invalid/elements/link-with-dependencies.bst | 7 +
.../link/invalid/elements/link-with-sources.bst | 8 +
.../invalid/elements/target-link-with-sources.bst | 4 +
tests/format/link/invalid/project.conf | 4 +
.../notfound/elements/depends-on-link-target.bst | 4 +
.../link/notfound/elements/link-full-path.bst | 4 +
.../format/link/notfound/elements/link-target.bst | 4 +
.../elements/linked-local-junction-target.bst | 4 +
.../notfound/elements/linked-local-junction.bst | 4 +
.../elements/linked-nested-junction-target.bst | 4 +
.../notfound/elements/linked-nested-junction.bst | 4 +
.../notfound/elements/subproject-link-notfound.bst | 4 +
.../link/notfound/elements/subproject-link.bst | 4 +
.../notfound}/elements/subproject.bst | 0
.../elements/subsubproject-link-notfound.bst | 4 +
.../link/notfound/elements/subsubproject-link.bst | 4 +
.../link/notfound/elements/target-full-path.bst | 4 +
tests/format/link/notfound/project.conf | 4 +
.../subproject/elements/subsubproject-junction.bst | 0
tests/format/link/notfound/subproject/project.conf | 4 +
.../notfound/subproject/subsubproject/project.conf | 2 +
.../simple-junctions/elements/full-path-link.bst | 4 +
.../simple-junctions/elements/subproject-link.bst | 4 +
.../simple-junctions}/elements/subproject.bst | 0
.../elements/subsubproject-link.bst | 4 +
.../simple-junctions/elements/target-full-path.bst | 4 +
.../simple-junctions/elements/target-local.bst | 4 +
.../simple-junctions/elements/target-nested.bst | 4 +
tests/format/link/simple-junctions/project.conf | 4 +
.../subproject}/elements/hello.bst | 0
.../subproject/elements/subsubproject-junction.bst | 0
.../simple-junctions/subproject}/files/hello.txt | 0
.../link/simple-junctions/subproject/project.conf | 4 +
.../subproject/subsubproject/elements/hello.bst | 0
.../subproject/subsubproject/files/hello.txt | 0
.../subproject/subsubproject/project.conf | 4 +
tests/format/link/simple/elements/hello-link.bst | 4 +
.../simple}/elements/hello.bst | 0
tests/format/link/simple/elements/target.bst | 4 +
.../subsubproject => link/simple}/files/hello.txt | 0
tests/format/link/simple/project.conf | 4 +
.../list-directive-error-element/project.conf | 1 +
.../list-directive-error-project/project.conf | 1 +
.../format/list-directive-type-error/project.conf | 1 +
tests/format/listdirectiveerrors.py | 34 +-
tests/format/option-arch-alias/project.conf | 1 +
tests/format/option-arch-unknown/project.conf | 1 +
tests/format/option-arch/project.conf | 1 +
tests/format/option-bool/project.conf | 1 +
.../option-element-mask-invalid/project.conf | 1 +
tests/format/option-element-mask/project.conf | 1 +
tests/format/option-enum-missing/project.conf | 1 +
tests/format/option-enum/project.conf | 1 +
tests/format/option-exports/project.conf | 1 +
tests/format/option-flags-missing/project.conf | 1 +
tests/format/option-flags/project.conf | 1 +
tests/format/option-list-directive.py | 19 +
tests/format/option-list-directive/project.conf | 19 +
tests/format/option-os/project.conf | 1 +
tests/format/option-overrides/project.conf | 1 +
tests/format/optionarch.py | 90 +-
tests/format/optionbool.py | 123 +-
tests/format/optioneltmask.py | 84 +-
tests/format/optionenum.py | 130 +-
tests/format/optionexports.py | 41 +-
tests/format/optionflags.py | 150 +-
tests/format/optionos.py | 57 +-
tests/format/optionoverrides.py | 17 +-
tests/format/options.py | 283 +-
.../options/compound-and-condition/project.conf | 1 +
.../options/compound-or-condition/project.conf | 1 +
tests/format/options/deep-nesting/project.conf | 1 +
.../format/options/invalid-condition/project.conf | 1 +
.../format/options/invalid-expression/project.conf | 1 +
.../options/invalid-name-dashes/project.conf | 1 +
.../invalid-name-leading-number/project.conf | 1 +
.../format/options/invalid-name-plus/project.conf | 1 +
.../options/invalid-name-spaces/project.conf | 1 +
tests/format/options/invalid-type/project.conf | 1 +
.../invalid-variable-name-plus/project.conf | 1 +
.../invalid-variable-name-spaces/project.conf | 1 +
tests/format/options/nested-condition/project.conf | 1 +
tests/format/options/simple-condition/project.conf | 1 +
.../format/options/undefined-variable/project.conf | 1 +
.../prepend-configure-commands/project.conf | 1 +
tests/format/project.py | 172 +-
tests/format/project/default/project.conf | 1 +
.../format/project/duplicate-plugins/project.conf | 9 +-
tests/format/project/element-path/project.conf | 1 +
tests/format/project/empty-depends/project.conf | 1 +
tests/format/project/emptyname/project.conf | 1 +
tests/format/project/invalid-yaml/project.conf | 1 +
tests/format/project/invalidname/project.conf | 1 +
tests/format/project/local-plugin/project.conf | 3 +-
tests/format/project/missing-element/project.conf | 1 +
tests/format/project/missing-junction/project.conf | 1 +
tests/format/project/overridepath/project.conf | 1 +
tests/format/project/plugin-allowed/element.bst | 1 -
tests/format/project/plugin-allowed/plugins/foo.py | 16 -
tests/format/project/plugin-allowed/project.conf | 7 -
tests/format/project/plugin-forbidden/element.bst | 1 -
.../forbidden-plugins/forbidden-plugin.py | 16 -
tests/format/project/plugin-forbidden/project.conf | 2 -
.../plugin-no-load-ref/plugins/noloadref.py | 7 +-
.../errorplugin/preflighterror.py | 10 +-
.../project/plugin-preflight-error/project.conf | 3 +-
.../project/project-from-subdir/project.conf | 1 +
tests/format/project/refs-options/project.conf | 1 +
tests/format/project/unsupported/project.conf | 2 +-
tests/format/projectoverrides.py | 17 +-
tests/format/stack.py | 22 +
tests/format/stack/elements/build-only-stack.bst | 4 +
tests/format/stack/elements/dependency.bst | 2 +
tests/format/stack/elements/runtime-only-stack.bst | 4 +
tests/format/stack/project.conf | 4 +
tests/format/substitutions.py | 20 +
tests/format/userconfig.py | 21 +
tests/format/variables.py | 295 +-
tests/format/variables/cyclic_variables/cyclic.bst | 2 +-
.../variables/cyclic_variables/indirect-cyclic.bst | 8 +
.../format/variables/cyclic_variables/project.conf | 1 +
.../variables/cyclic_variables/self-reference.bst | 4 +
.../variables/cyclic_variables/simple-cyclic.bst | 5 +
tests/format/variables/defaults/cmake.bst | 2 -
tests/format/variables/defaults/distutils.bst | 2 -
tests/format/variables/defaults/makemaker.bst | 2 -
tests/format/variables/defaults/modulebuild.bst | 2 -
tests/format/variables/defaults/project.conf | 10 +-
tests/format/variables/defaults/qmake.bst | 2 -
.../format/variables/missing_variables/manual3.bst | 10 +
.../variables/missing_variables/project.conf | 1 +
tests/format/variables/overrides/cmake.bst | 7 -
tests/format/variables/overrides/distutils.bst | 6 -
tests/format/variables/overrides/makemaker.bst | 6 -
tests/format/variables/overrides/modulebuild.bst | 6 -
tests/format/variables/overrides/project.conf | 9 +-
tests/format/variables/overrides/qmake.bst | 6 -
.../partial_context}/base.bst | 0
.../variables/partial_context/base/project.conf | 3 +
.../format/variables/partial_context/base/vars.yml | 2 +
.../format/variables/partial_context/project.conf | 8 +
tests/format/variables/partial_context/test.bst | 3 +
tests/format/variables/protected-vars/project.conf | 1 +
.../variables/public_data_variables/project.conf | 5 +
.../variables/public_data_variables/public.bst | 11 +
.../public_data_variables/public_unresolved.bst | 9 +
tests/format/variables/shared_variables/one.bst | 6 +
.../format/variables/shared_variables/project.conf | 2 +
tests/format/variables/shared_variables/shared.yml | 3 +
tests/format/variables/shared_variables/two.bst | 6 +
tests/frontend/__init__.py | 7 +-
tests/frontend/artifact_delete.py | 146 +-
tests/frontend/artifact_list_contents.py | 79 +-
tests/frontend/artifact_log.py | 41 +-
tests/frontend/artifact_show.py | 149 +-
tests/frontend/buildcheckout.py | 898 ++---
tests/frontend/buildtrack.py | 402 --
tests/frontend/completions.py | 383 +-
.../completions/no-element-path/project.conf | 1 +
tests/frontend/completions/project/project.conf | 2 +-
.../frontend/completions/sub-folders/project.conf | 2 +-
tests/frontend/compose_splits.py | 22 +-
tests/frontend/configurable_warnings.py | 50 +-
.../frontend/configuredwarning/plugins/corewarn.py | 6 +-
.../frontend/configuredwarning/plugins/warninga.py | 3 +
.../frontend/configuredwarning/plugins/warningb.py | 3 +
tests/frontend/configuredwarning/project.conf | 5 +-
tests/frontend/consistencyerror/bug.bst | 2 +-
tests/frontend/consistencyerror/error.bst | 2 +-
.../consistencyerror/plugins/consistencybug.py | 7 +-
.../consistencyerror/plugins/consistencyerror.py | 10 +-
tests/frontend/consistencyerror/project.conf | 5 +-
tests/frontend/cross_junction_workspace.py | 65 +-
.../elements/dummy_1.bst} | 0
.../elements/dummy_2.bst} | 0
.../elements/dummy_3.bst} | 0
.../default-target/elements/dummy_stack.bst | 5 +
.../sub-project/elements/dummy_subproject.bst} | 0
.../default-target/files/sub-project/project.conf | 3 +
tests/frontend/default-target/project.conf | 3 +
tests/frontend/default_target.py | 192 +
tests/frontend/exceptions/project.conf | 1 +
tests/frontend/fetch.py | 170 +-
tests/frontend/help.py | 23 +-
tests/frontend/init.py | 143 +-
tests/frontend/interactive_init.py | 42 +
tests/frontend/invalid_element_path/project.conf | 2 +-
tests/frontend/large_directory.py | 79 +
tests/frontend/logging.py | 190 +-
tests/frontend/logging/elements/bar.bst | 4 +
tests/frontend/logging/elements/foo.bst | 4 +
tests/frontend/logging/elements/logtest.bst | 5 +
.../__init__.py => frontend/logging/files/bar} | 0
.../logging}/files/foo | 0
tests/frontend/logging/plugins/logtest.py | 44 +
tests/frontend/logging/project.conf | 10 +
tests/frontend/main.py | 8 +-
tests/frontend/mirror.py | 419 +--
tests/frontend/order.py | 79 +-
tests/frontend/overlaps.py | 194 +-
tests/frontend/overlaps/directory-file.bst | 9 +
.../overlaps/directory-file/directory-file} | 0
.../frontend/overlaps/multistage-overlap-error.bst | 12 +
.../overlaps/multistage-overlap-ignore.bst | 12 +
tests/frontend/overlaps/multistage-overlap.bst | 12 +
tests/frontend/overlaps/plugins/overlap.py | 56 +
tests/frontend/overlaps/relocated-unstaged.bst | 9 +
tests/frontend/overlaps/relocated.bst | 15 +
tests/frontend/overlaps/subdir-a.bst | 7 +
tests/frontend/overlaps/unstaged.bst | 4 +
tests/frontend/overlaps/whitelist-undefined.bst | 13 +
tests/frontend/overlaps/with-directory.bst | 7 +
.../overlaps/with-directory/directory-file/file} | 0
tests/frontend/progress.py | 111 +
tests/frontend/project/elements/format-deps.bst | 17 +
.../project/elements/import-large-directory.bst | 4 +
tests/frontend/project/elements/random.bst | 1 +
.../files/files-and-links/basicfolder/basicsymlink | 1 -
.../project/files/sub-project/files/deps.bst | 1 +
.../project/files/sub-project/project.conf | 2 +-
.../files/sub2-project/elements/import-sub.bst | 4 +
.../sub2-project}/files/etc-files/etc/animal.conf | 0
.../project/files/sub2-project/project.conf | 4 +
tests/frontend/project/plugins/randomelement.py | 37 +
tests/frontend/project/project.conf | 2 +-
tests/frontend/project/sources/fetch_source.py | 33 +-
tests/frontend/project_default/elements/target.bst | 4 -
.../frontend/project_default/elements/target2.bst | 4 -
tests/frontend/project_default/project.conf | 11 -
tests/frontend/project_fail/project.conf | 2 +-
.../project_world/elements/checkout-deps.bst | 7 -
.../project_world/elements/compose-exclude-dev.bst | 16 -
.../project_world/elements/compose-include-bin.bst | 16 -
.../project_world/elements/rebuild-target.bst | 4 -
.../files/sub-project/elements/import-etc.bst | 4 -
.../project_world/files/sub-project/project.conf | 4 -
tests/frontend/project_world/project.conf | 7 -
tests/frontend/pull.py | 591 +--
tests/frontend/push.py | 653 ++--
tests/frontend/rebuild.py | 62 +-
tests/frontend/remote-caches.py | 70 +-
tests/frontend/show.py | 592 ++-
.../elements/compose-all.bst | 0
.../simple}/elements/import-bin.bst | 0
.../simple}/elements/import-dev.bst | 0
tests/frontend/simple/elements/subdir/target.bst | 7 +
.../{project_world => simple}/elements/target.bst | 0
.../simple}/files/bin-files/usr/bin/hello | 0
.../simple}/files/dev-files/usr/include/pony.h | 0
tests/frontend/simple/project.conf | 4 +
tests/frontend/source-fetch/apples.bst | 6 +
tests/frontend/source-fetch/bananas.bst | 12 +
tests/frontend/source-fetch/files/apples | 1 +
tests/frontend/source-fetch/files/bananas | 1 +
tests/frontend/source-fetch/files/oranges | 1 +
tests/frontend/source-fetch/oranges.bst | 6 +
tests/frontend/source-track/apples.bst | 5 +
tests/frontend/source-track/bananas.bst | 11 +
tests/frontend/source-track/comments.bst | 13 +
tests/frontend/source-track/files/apples | 1 +
tests/frontend/source-track/files/bananas | 1 +
tests/frontend/source-track/files/oranges | 1 +
tests/frontend/source-track/oranges.bst | 5 +
tests/frontend/source_checkout.py | 193 +-
.../strict-depends/elements/non-strict-depends.bst | 2 +-
.../strict-depends/elements/strict-depends.bst | 2 +-
tests/frontend/strict-depends/project.conf | 1 +
.../track-cross-junction/subproject/project.conf | 3 +-
tests/frontend/track-optional-inline/project.conf | 2 +-
.../track-optional-project-refs/project.conf | 1 +
tests/frontend/track.py | 381 +-
tests/frontend/version.py | 10 +-
tests/frontend/workspace.py | 1077 +++---
tests/frontend/workspaced-build-dep/project.conf | 4 +-
tests/frontend/workspaced-runtime-dep/project.conf | 4 +-
tests/integration/artifact.py | 162 +-
tests/integration/autotools.py | 80 +-
tests/integration/build-uid.py | 63 +-
tests/integration/cachedfail.py | 208 +-
tests/integration/cmake.py | 68 -
tests/integration/compose-symlinks.py | 15 +-
tests/integration/compose.py | 192 +-
tests/integration/filter.py | 74 +
tests/integration/import.py | 50 +-
tests/integration/interactive_build.py | 115 +
tests/integration/make.py | 52 -
tests/integration/manual.py | 236 +-
tests/integration/messages.py | 52 +-
tests/integration/pip_element.py | 135 -
tests/integration/pip_source.py | 186 +-
.../project/elements/cmake/cmakeconfroothello.bst | 15 -
.../project/elements/cmake/cmakehello.bst | 10 -
.../project/elements/compose/test-integration.bst | 10 +
.../integration/project/elements/echo-env-var.bst | 10 +
tests/integration/project/elements/echo-target.bst | 3 +
.../integration/project/elements/filter/filter.bst | 16 +
.../integration/project/elements/filter/parent.bst | 20 +
.../project/elements/interactive/failed-build.bst | 14 +
.../project/elements/make/makehello.bst | 10 -
.../project/elements/manual/import-file.bst | 5 +
.../elements/manual/manual-stage-custom.bst | 13 +
.../elements/sandbox-bwrap/base-with-tmp.bst | 6 -
.../project/elements/sandbox-bwrap/break-shell.bst | 9 -
.../elements/sandbox-bwrap/command-exit-42.bst | 8 -
.../sandbox-bwrap/non-executable-shell.bst | 9 -
.../elements/sandbox-bwrap/test-cleanup.bst | 13 -
.../project/elements/sandbox/build-arch.bst | 12 +
.../project/elements/sandbox/test-dev-shm.bst | 15 +
.../project/elements/script/corruption-2.bst | 8 +-
.../project/elements/script/corruption.bst | 20 +-
.../project/elements/script/marked-tmpdir.bst | 5 +-
.../project/elements/script/script-layout.bst | 17 +-
.../integration/project/elements/script/script.bst | 5 +-
.../integration/project/elements/script/tmpdir.bst | 5 +-
tests/integration/project/files/cmakehello.tar.gz | Bin 10240 -> 0 bytes
tests/integration/project/files/makehello.tar.gz | Bin 432 -> 0 bytes
.../project/files/manual-element/root/hello | 1 +
.../project/files/manual-element/root/subdir/hello | 1 +
tests/integration/project/files/pip-source/app1.py | 4 +-
tests/integration/project/files/test_shm.c | 29 +
.../project/files/workspace-incremental/Makefile | 7 +
.../project/files/workspace-incremental/source | 1 +
.../project/files/workspace-partial/Makefile | 10 +
.../project/files/workspace-partial/source1 | 1 +
.../project/files/workspace-partial/source2 | 1 +
tests/integration/project/project.conf | 10 +-
tests/integration/pullbuildtrees.py | 129 +-
tests/integration/sandbox-bwrap.py | 62 -
tests/integration/sandbox.py | 53 +
tests/integration/script.py | 236 +-
tests/integration/shell.py | 406 +-
tests/integration/shellbuildtrees.py | 566 +--
tests/integration/sockets.py | 17 +-
tests/integration/source-determinism.py | 83 +-
tests/integration/stack.py | 19 +-
tests/integration/symlinks.py | 53 +-
tests/integration/workspace.py | 449 ++-
tests/internals/cascache.py | 108 +
tests/internals/context.py | 109 +-
tests/internals/loader.py | 42 +-
tests/internals/loader/onefile/project.conf | 1 +
tests/internals/pluginfactory.py | 304 --
.../internals/pluginfactory/anotherelement/foo.py | 9 -
tests/internals/pluginfactory/anothersource/foo.py | 9 -
tests/internals/pluginfactory/badsetup/foo.py | 6 -
.../pluginfactory/badversionelement/foo.py | 11 -
.../pluginfactory/badversionsource/foo.py | 11 -
tests/internals/pluginfactory/customelement/foo.py | 9 -
tests/internals/pluginfactory/customsource/foo.py | 9 -
tests/internals/pluginfactory/notatype/foo.py | 6 -
tests/internals/pluginfactory/wrongtype/foo.py | 12 -
tests/internals/pluginloading.py | 62 -
.../badversionelement/customelements/foo.py | 19 -
.../badversionelement/elements/simple.bst | 4 -
.../pluginloading/badversionelement/project.conf | 9 -
.../badversionsource/customsources/foo.py | 19 -
.../badversionsource/elements/simple.bst | 6 -
.../pluginloading/badversionsource/project.conf | 9 -
.../customelement/elements/simple.bst | 4 -
.../customelement/pluginelements/foo.py | 17 -
.../pluginloading/customelement/project.conf | 7 -
.../pluginloading/customsource/elements/simple.bst | 6 -
.../customsource/pluginsources/foo.py | 20 -
.../pluginloading/customsource/project.conf | 7 -
tests/internals/storage.py | 307 +-
.../__init__.py => storage/empty/.gitkeep} | 0
.../__init__.py => storage/merge-add/added} | 0
.../__init__.py => storage/merge-add/root-file} | 0
.../merge-add/subdirectory/subdir-file} | 0
.../__init__.py => storage/merge-base/root-file} | 0
.../merge-base/subdirectory/subdir-file} | 0
.../merge-buildtree/root-file} | 0
.../merge-buildtree/root-file.o} | 0
.../merge-buildtree/subdirectory/subdir-file} | 0
.../merge-buildtree/subdirectory/subdir-file.o} | 0
tests/internals/storage/merge-link-change/link | 1 +
.../merge-link-change/root-file} | 0
.../storage/merge-link-change/subdirectory/link | 1 +
.../merge-link-change/subdirectory/subdir-file} | 0
tests/internals/storage/merge-link/link | 1 +
.../storage/merge-link/root-file} | 0
.../storage/merge-link/subdirectory}/subdir-file | 0
.../root-file} | 0
.../root-file.o} | 0
.../subdirectory}/subdir-file | 0
.../subdirectory/subdir-file.o/test} | 0
.../merge-override-in-subdir-with-file/root-file} | 0
.../root-file.o} | 0
.../subdirectory}/subdir-file | 0
.../subdirectory/subdir-file.o} | 0
.../storage/merge-override-subdirectory/root-file} | 0
.../merge-override-subdirectory/root-file.o} | 0
.../merge-override-subdirectory/subdirectory} | 0
.../merge-override-with-directory/root-file} | 0
.../root-file.o/test} | 0
.../subdirectory}/subdir-file | 0
.../subdirectory/subdir-file.o} | 0
.../storage/merge-override-with-file/root-file} | 0
.../storage/merge-override-with-file/root-file.o} | 0
.../subdirectory}/subdir-file | 0
.../subdirectory/subdir-file.o} | 0
.../root-file} | 0
.../subdirectory} | 0
.../storage/merge-properties/root-file} | 0
.../merge-properties/subdirectory}/subdir-file | 0
.../storage/merge-remove/subdirectory}/subdir-file | 0
tests/internals/storage/merge-replace/root-file | 1 +
.../merge-replace/subdirectory}/subdir-file | 0
.../storage/merge-subdirectory-add/root-file} | 0
.../merge-subdirectory-add/subdirectory/added} | 0
.../subdirectory/subdir-file | 1 +
.../storage/merge-subdirectory-link/root-file} | 0
.../merge-subdirectory-link/subdirectory/link | 1 +
.../subdirectory}/subdir-file | 0
.../storage/merge-subdirectory-remove/root-file} | 0
.../subdirectory/.gitkeep} | 0
.../storage/merge-subdirectory-replace/root-file} | 0
.../subdirectory/subdir-file | 1 +
tests/internals/storage_vdir_import.py | 188 +-
tests/internals/utils_move_atomic.py | 30 +-
tests/internals/utils_save_atomic.py | 48 +-
tests/internals/yaml.py | 391 +-
.../deprecationwarnings/deprecationwarnings.py | 43 -
.../project/elements/deprecated.bst | 1 -
.../project/plugins/elements/deprecated_plugin.py | 11 -
.../plugins/elements/deprecated_plugin.yaml | 22 -
.../deprecationwarnings/project/project.conf | 15 -
tests/plugins/loading.py | 709 ++++
.../loading/elements/subproject-junction.bst} | 0
.../plugins/elements/deprecated/deprecated.py | 21 +
.../loading/plugins/elements/found/found.py | 19 +
.../incompatiblemajor/incompatiblemajor.py | 10 +
.../incompatibleminor/incompatibleminor.py | 10 +
.../elements/malformedminversion/badstring.py | 11 +
.../plugins/elements/malformedminversion/dict.py | 11 +
.../plugins/elements/malformedminversion/list.py | 11 +
.../plugins/elements/malformedminversion/number.py | 11 +
.../plugins/elements/nominversion/nominversion.py | 10 +
.../loading/plugins/nosetup/nosetup.py} | 0
.../plugins/setupnotfunction/setupnotfunction.py | 6 +
.../setupreturnsbadtype/setupreturnsbadtype.py | 15 +
.../setupreturnsnottype/setupreturnsnottype.py | 8 +
.../plugins/sources/deprecated/deprecated.py | 34 +
.../plugins/loading/plugins/sources/found/found.py | 32 +
.../sources/incompatiblemajor/incompatiblemajor.py | 10 +
.../sources/incompatibleminor/incompatibleminor.py | 10 +
.../sources/malformedminversion/badstring.py | 11 +
.../plugins/sources/malformedminversion/dict.py | 11 +
.../plugins/sources/malformedminversion/list.py | 11 +
.../plugins/sources/malformedminversion/number.py | 11 +
.../plugins/sources/nominversion/nominversion.py | 10 +
tests/plugins/loading/project.conf | 8 +
.../subproject/elements/subsubproject-junction.bst | 0
tests/plugins/loading/subproject/project.conf | 8 +
.../loading/subproject/subsubproject/project.conf | 5 +
tests/plugins/sample-plugins/setup.py | 36 +
.../sample-plugins/src/sample_plugins}/__init__.py | 0
.../src/sample_plugins/elements}/__init__.py | 0
.../src/sample_plugins/elements/sample.py | 19 +
.../src/sample_plugins/elements/sample.yaml | 5 +
.../src/sample_plugins/sources}/__init__.py | 0
.../src/sample_plugins/sources/sample.py | 32 +
.../project/elements/autotools/amhello.bst | 26 +
.../project/elements/base.bst | 0
.../project/elements/base/base-alpine.bst | 0
.../elements/build-shell/buildtree-fail.bst | 0
.../project/elements/build-shell/buildtree.bst | 0
.../project/elements/no-runtime-deps.bst | 0
.../project}/files/amhello.tar.gz | Bin
.../project/files/dev-files/usr/include/pony.h | 0
tests/remotecache/project/project.conf | 25 +
tests/remotecache/simple.py | 65 +
tests/remoteexecution/buildfail.py | 37 +-
tests/remoteexecution/buildtree.py | 37 +-
tests/remoteexecution/junction.py | 71 +-
tests/remoteexecution/partial.py | 59 +-
.../project/elements/autotools/amhello.bst | 16 +
.../project/files/sub-project/project.conf | 1 +
tests/remoteexecution/project/project.conf | 1 +
tests/remoteexecution/simple.py | 43 +-
tests/remoteexecution/workspace.py | 303 ++
tests/sandboxes/fallback.py | 76 -
tests/sandboxes/missing-command.py | 13 +-
tests/sandboxes/missing-command/project.conf | 1 +
tests/sandboxes/missing-dependencies/project.conf | 2 +-
tests/sandboxes/missing_dependencies.py | 95 +-
tests/sandboxes/mounting/mount_simple.py | 52 -
tests/sandboxes/project/project.conf | 1 +
tests/sandboxes/remote-exec-config.py | 72 +-
tests/sandboxes/selection.py | 69 +-
tests/sourcecache/cache.py | 86 +-
tests/sourcecache/capabilities.py | 44 +
tests/sourcecache/config.py | 23 +-
tests/sourcecache/fetch.py | 264 +-
.../project/plugins/elements/always_fail.py | 2 +
tests/sourcecache/project/project.conf | 3 +-
tests/sourcecache/push.py | 240 +-
tests/sourcecache/source-checkout.py | 30 +-
tests/sourcecache/staging.py | 69 +-
tests/sourcecache/workspace.py | 61 +-
tests/sources/bzr.py | 33 +-
tests/sources/bzr/project.conf | 1 +
tests/sources/deb.py | 180 -
tests/sources/deb/a_deb.deb | Bin 7624 -> 0 bytes
.../content/share/doc/lua-clod/changelog.Debian.gz | Bin 37 -> 0 bytes
.../content/share/lua/5.2/clod.lua | 1 -
tests/sources/deb/explicit-basedir/target.bst | 7 -
.../usr/share/doc/lua-clod/changelog.Debian.gz | Bin 37 -> 0 bytes
.../deb/fetch/content/usr/share/lua/5.2/clod.lua | 1 -
tests/sources/deb/fetch/target-lz.bst | 6 -
tests/sources/deb/fetch/target.bst | 6 -
.../usr/share/doc/lua-clod/changelog.Debian.gz | Bin 37 -> 0 bytes
.../no-basedir/content/usr/share/lua/5.2/clod.lua | 1 -
tests/sources/deb/no-basedir/target.bst | 7 -
tests/sources/deb/no-ref/a/b/d | 1 -
tests/sources/deb/no-ref/a/c | 1 -
tests/sources/deb/no-ref/target.bst | 5 -
tests/sources/git.py | 1121 +++---
tests/sources/git/project-override/project.conf | 1 +
tests/sources/git/template/project.conf | 1 +
tests/sources/keytest.py | 10 +-
tests/sources/local.py | 169 +-
tests/sources/local/basic/project.conf | 1 +
tests/sources/local/directory/project.conf | 1 +
tests/sources/local/file-exists/project.conf | 1 +
.../local/invalid-relative-path/project.conf | 1 +
tests/sources/local/symlink/project.conf | 1 +
.../plugins/sources/always_cached.py | 10 +-
tests/sources/no-fetch-cached/project.conf | 3 +-
tests/sources/no_fetch_cached.py | 28 +-
tests/sources/ostree/template/project.conf | 2 -
tests/sources/patch.py | 95 +-
tests/sources/patch/basic/project.conf | 1 +
.../patch/different-strip-level/project.conf | 1 +
.../patch/invalid-relative-path/project.conf | 1 +
tests/sources/patch/multiple-patches/project.conf | 1 +
.../sources/patch/separate-patch-dir/project.conf | 1 +
tests/sources/pip.py | 54 +-
tests/sources/previous_source_access.py | 37 +-
.../plugins/sources/foo_transform.py | 42 +-
tests/sources/previous_source_access/project.conf | 3 +-
.../project_key_test/plugins/sources/key-test.py | 30 +-
tests/sources/project_key_test/project.conf | 3 +-
tests/sources/remote.py | 198 +-
tests/sources/tar.py | 299 +-
tests/sources/tar/read-only/content/c.tar.gz | Bin 0 -> 128 bytes
tests/sources/variables.py | 35 +
.../multiple-patches => variables/folder}/file.txt | 0
tests/sources/variables/project.conf | 3 +
tests/sources/variables/target.bst | 9 +
tests/sources/variables/unresolveable-target.bst | 6 +
tests/sources/zip.py | 135 +-
tests/testutils/__init__.py | 2 +-
tests/testutils/artifactshare.py | 306 +-
tests/testutils/constants.py | 15 +
tests/testutils/context.py | 34 +
tests/testutils/element_generators.py | 24 +-
tests/testutils/file_server.py | 4 +-
tests/testutils/filetypegenerator.py | 13 +-
tests/testutils/ftp_server.py | 6 +-
tests/testutils/http_server.py | 62 +-
tests/testutils/junction.py | 15 +-
tests/testutils/patch.py | 10 +-
tests/testutils/platform.py | 18 +-
tests/testutils/python_repo.py | 46 +-
tests/testutils/repo/bzr.py | 32 +-
tests/testutils/repo/git.py | 73 +-
tests/testutils/repo/tar.py | 14 +-
tests/testutils/repo/zip.py | 16 +-
tests/testutils/setuptools.py | 13 +-
tox.ini | 121 +-
1750 files changed, 52969 insertions(+), 37777 deletions(-)
create mode 100644 .asf.yaml
create mode 100644 .github/CODEOWNERS
create mode 100644 .github/compose/ci.docker-compose.yml
create mode 100644 .github/workflows/ci.yml
create mode 100644 .github/workflows/merge.yml
create mode 100644 .github/workflows/release.yml
delete mode 100644 .gitlab-ci.yml
delete mode 100644 .gitlab-ci/buildgrid-compose.yml
delete mode 100644 .gitlab/issue_templates/bst_bug.md
delete mode 100644 .gitlab/issue_templates/bst_task.md
delete mode 100644 .gitlab/merge_request_templates/bst_merge_request.md
delete mode 100644 .gitlab/merge_request_templates/stale_MR_message.md
delete mode 100644 BuildStream.doap
copy doc/examples/{running-commands => composition}/elements/base.bst (100%)
create mode 100644 doc/examples/composition/elements/base/alpine.bst
copy doc/examples/{integration-commands => composition}/elements/hello.bst (100%)
copy doc/examples/{integration-commands => composition}/elements/libhello.bst (100%)
create mode 100644 doc/examples/composition/elements/runtime-only.bst
copy doc/examples/{integration-commands => composition}/files/hello/Makefile (100%)
copy doc/examples/{integration-commands => composition}/files/hello/hello.c (100%)
copy doc/examples/{integration-commands => composition}/files/libhello/Makefile (100%)
copy doc/examples/{integration-commands => composition}/files/libhello/libhello.c (100%)
copy doc/examples/{integration-commands => composition}/files/libhello/libhello.h (100%)
create mode 100644 doc/examples/composition/project.conf
copy doc/examples/{running-commands => directives}/elements/base.bst (100%)
copy doc/examples/{running-commands => directives}/elements/base/alpine.bst (100%)
create mode 100644 doc/examples/directives/elements/hello.bst
create mode 100644 doc/examples/directives/files/src/Makefile
create mode 100644 doc/examples/directives/files/src/hello.c
create mode 100644 doc/examples/directives/include/greeting.bst
create mode 100644 doc/examples/directives/project.conf
copy doc/examples/{running-commands => filtering}/elements/base.bst (100%)
copy doc/examples/{integration-commands => filtering}/elements/base/alpine.bst (100%)
create mode 100644 doc/examples/filtering/elements/hello.bst
create mode 100644 doc/examples/filtering/elements/libhello-filtered.bst
create mode 100644 doc/examples/filtering/elements/libhello.bst
create mode 100644 doc/examples/filtering/files/hello/Makefile
create mode 100644 doc/examples/filtering/files/hello/hello.c
create mode 100644 doc/examples/filtering/files/libhello/Makefile
create mode 100644 doc/examples/filtering/files/libhello/default-person.txt
copy doc/examples/{integration-commands => filtering}/files/libhello/libhello.c (100%)
copy doc/examples/{integration-commands => filtering}/files/libhello/libhello.h (100%)
create mode 100644 doc/examples/filtering/project.conf
create mode 100644 doc/examples/flatpak-autotools/keys/flathub.gpg
delete mode 100644 doc/examples/flatpak-autotools/keys/gnome-sdk.gpg
create mode 100644 doc/examples/junction-includes/elements/hello.bst
create mode 100644 doc/examples/junction-includes/elements/subproject-junction.bst
create mode 100644 doc/examples/junction-includes/project.conf
copy doc/examples/{running-commands => junction-includes/subproject}/elements/base.bst (100%)
copy doc/examples/{running-commands => junction-includes/subproject}/elements/base/alpine.bst (100%)
create mode 100644 doc/examples/junction-includes/subproject/include/paths.bst
create mode 100644 doc/examples/junction-includes/subproject/project.conf
copy doc/examples/{running-commands => overlaps}/elements/base.bst (100%)
create mode 100644 doc/examples/overlaps/elements/base/alpine.bst
copy doc/examples/{integration-commands => overlaps}/elements/hello.bst (100%)
copy doc/examples/{integration-commands => overlaps}/elements/libhello.bst (100%)
create mode 100644 doc/examples/overlaps/elements/runtime-only.bst
create mode 100644 doc/examples/overlaps/files/hello/Makefile
copy doc/examples/{integration-commands => overlaps}/files/hello/hello.c (100%)
create mode 100644 doc/examples/overlaps/files/hello/hello.txt
create mode 100644 doc/examples/overlaps/files/libhello/Makefile
create mode 100644 doc/examples/overlaps/files/libhello/hello.txt
copy doc/examples/{integration-commands => overlaps}/files/libhello/libhello.c (100%)
copy doc/examples/{integration-commands => overlaps}/files/libhello/libhello.h (100%)
create mode 100644 doc/examples/overlaps/project.conf
copy doc/examples/{running-commands => strict-mode}/elements/base.bst (100%)
copy doc/examples/{integration-commands => strict-mode}/elements/base/alpine.bst (100%)
create mode 100644 doc/examples/strict-mode/elements/hello-dynamic.bst
create mode 100644 doc/examples/strict-mode/elements/hello-static.bst
copy doc/examples/{integration-commands => strict-mode}/elements/libhello.bst (100%)
create mode 100644 doc/examples/strict-mode/files/hello/Makefile.dynamic
create mode 100644 doc/examples/strict-mode/files/hello/Makefile.static
copy doc/examples/{integration-commands => strict-mode}/files/hello/hello.c (100%)
create mode 100644 doc/examples/strict-mode/files/libhello/Makefile
create mode 100644 doc/examples/strict-mode/files/libhello/libhello.c
copy doc/examples/{integration-commands => strict-mode}/files/libhello/libhello.h (100%)
create mode 100644 doc/examples/strict-mode/project.conf
create mode 100644 doc/examples/strict-mode/update.patch
create mode 100644 doc/sessions/composition.run
create mode 100644 doc/sessions/directives.run
create mode 100644 doc/sessions/filtering.run
create mode 100644 doc/sessions/junction-includes.run
create mode 100644 doc/sessions/overlaps.run
create mode 100644 doc/sessions/strict-mode.run
delete mode 100644 doc/source/advanced-features/junction-elements.rst
create mode 100644 doc/source/developing/strict-mode.rst
create mode 100644 doc/source/hacking/coding_guidelines.rst
create mode 100644 doc/source/hacking/grpc_protocols.rst
create mode 100644 doc/source/hacking/making_releases.rst
create mode 100644 doc/source/hacking/managing_data_files.rst
create mode 100644 doc/source/hacking/measuring_performance.rst
create mode 100644 doc/source/hacking/ui.rst
create mode 100644 doc/source/hacking/updating_python_deps.rst
create mode 100644 doc/source/hacking/using_the_testsuite.rst
create mode 100644 doc/source/hacking/writing_documentation.rst
create mode 100644 doc/source/hacking/writing_plugins.rst
create mode 100644 doc/source/handling-files/composition.rst
create mode 100644 doc/source/handling-files/filtering.rst
create mode 100644 doc/source/handling-files/overlaps.rst
create mode 100644 doc/source/junctions/junction-elements.rst
create mode 100644 doc/source/junctions/junction-includes.rst
create mode 100644 doc/source/junctions/junction-workspaces.rst
create mode 100644 doc/source/main_glossary.rst
create mode 100644 doc/source/main_install.rst
create mode 100644 doc/source/sessions-stored/composition-build.html
create mode 100644 doc/source/sessions-stored/composition-list-contents.html
create mode 100644 doc/source/sessions-stored/composition-shell.html
create mode 100644 doc/source/sessions-stored/directives-build-excited.html
create mode 100644 doc/source/sessions-stored/directives-build-normal.html
create mode 100644 doc/source/sessions-stored/directives-build-somber.html
create mode 100644 doc/source/sessions-stored/directives-shell-excited.html
create mode 100644 doc/source/sessions-stored/directives-shell-normal.html
create mode 100644 doc/source/sessions-stored/directives-shell-somber.html
create mode 100644 doc/source/sessions-stored/filtering-list-contents-libhello-filtered.html
create mode 100644 doc/source/sessions-stored/filtering-list-contents-libhello.html
create mode 100644 doc/source/sessions-stored/filtering-shell-with-filter.html
create mode 100644 doc/source/sessions-stored/filtering-shell-without-filter.html
create mode 100644 doc/source/sessions-stored/junction-includes-build-funky.html
create mode 100644 doc/source/sessions-stored/junction-includes-build-normal.html
create mode 100644 doc/source/sessions-stored/junction-includes-shell-funky.html
create mode 100644 doc/source/sessions-stored/junction-includes-shell-normal.html
create mode 100644 doc/source/sessions-stored/junctions-workspace-open-subproject.html
create mode 100644 doc/source/sessions-stored/overlaps-build.html
create mode 100644 doc/source/sessions-stored/strict-mode-build-dynamic-no-strict.html
create mode 100644 doc/source/sessions-stored/strict-mode-build-static-no-strict.html
create mode 100644 doc/source/sessions-stored/strict-mode-run-dynamic-no-strict.html
create mode 100644 doc/source/sessions-stored/strict-mode-run-static-no-strict.html
create mode 100644 doc/source/sessions-stored/strict-mode-show-dynamic-no-strict.html
create mode 100644 doc/source/sessions-stored/strict-mode-show-dynamic-strict.html
create mode 100644 doc/source/sessions-stored/strict-mode-show-initial.html
create mode 100644 doc/source/sessions-stored/strict-mode-show-static-no-strict.html
create mode 100644 doc/source/sessions-stored/strict-mode-workspace-open.html
create mode 100644 doc/source/tutorial/directives.rst
delete mode 100644 doc/source/using_advanced_features.rst
create mode 100644 doc/source/using_handling_files.rst
create mode 100644 doc/source/using_junctions.rst
create mode 100644 man/bst-artifact-list-contents.1
create mode 100644 man/bst-artifact-show.1
create mode 100644 man/bst-source-push.1
delete mode 100644 requirements/plugin-requirements.in
delete mode 100644 requirements/plugin-requirements.txt
create mode 100644 src/buildstream/_artifactproject.py
create mode 100644 src/buildstream/_assetcache.py
delete mode 100644 src/buildstream/_basecache.py
create mode 100644 src/buildstream/_cas/casdprocessmanager.py
delete mode 100644 src/buildstream/_elementfactory.py
create mode 100644 src/buildstream/_elementproxy.py
create mode 100644 src/buildstream/_elementsources.py
create mode 100644 src/buildstream/_elementsourcescache.py
delete mode 100644 src/buildstream/_fuse/__init__.py
delete mode 100644 src/buildstream/_fuse/fuse.py
delete mode 100644 src/buildstream/_fuse/hardlinks.py
delete mode 100644 src/buildstream/_fuse/mount.py
create mode 100644 src/buildstream/_loader/_loader.pyi
create mode 100644 src/buildstream/_loader/loadcontext.py
create mode 100644 src/buildstream/_loader/loadelement.pyi
delete mode 100644 src/buildstream/_loader/metaelement.py
create mode 100644 src/buildstream/_loader/types.py
delete mode 100644 src/buildstream/_loader/types.pyx
create mode 100644 src/buildstream/_overlapcollector.py
delete mode 100644 src/buildstream/_platform/darwin.py
delete mode 100644 src/buildstream/_platform/fallback.py
delete mode 100644 src/buildstream/_platform/linux.py
delete mode 100644 src/buildstream/_plugincontext.py
create mode 100644 src/buildstream/_pluginfactory/__init__.py
create mode 100644 src/buildstream/_pluginfactory/elementfactory.py
create mode 100644 src/buildstream/_pluginfactory/pluginfactory.py
create mode 100644 src/buildstream/_pluginfactory/pluginorigin.py
create mode 100644 src/buildstream/_pluginfactory/pluginoriginjunction.py
create mode 100644 src/buildstream/_pluginfactory/pluginoriginlocal.py
create mode 100644 src/buildstream/_pluginfactory/pluginoriginpip.py
create mode 100644 src/buildstream/_pluginfactory/sourcefactory.py
create mode 100644 src/buildstream/_pluginproxy.py
rename {tests/plugins/deprecationwarnings => src/buildstream/_protos/build/bazel/remote/asset}/__init__.py (100%)
rename {tests/internals/pluginloading/customsource/pluginsources => src/buildstream/_protos/build/bazel/remote/asset/v1}/__init__.py (100%)
create mode 100644 src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset.proto
create mode 100644 src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py
create mode 100644 src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py
create mode 100644 src/buildstream/_remote.py
create mode 100644 src/buildstream/_scheduler/jobs/_job.pyi
create mode 100644 src/buildstream/_scheduler/jobs/_job.pyx
delete mode 100644 src/buildstream/_scheduler/jobs/jobpickler.py
delete mode 100644 src/buildstream/_sourcefactory.py
create mode 100644 src/buildstream/_types.pyi
create mode 100644 src/buildstream/_utils.pyi
create mode 100644 src/buildstream/_variables.pyi
create mode 100644 src/buildstream/_yaml.pyi
create mode 100644 src/buildstream/downloadablefilesource.py
create mode 100644 src/buildstream/exceptions.py
create mode 100644 src/buildstream/node.pyi
delete mode 100644 src/buildstream/plugins/elements/distutils.py
delete mode 100644 src/buildstream/plugins/elements/distutils.yaml
create mode 100644 src/buildstream/plugins/elements/link.py
delete mode 100644 src/buildstream/plugins/elements/pip.py
delete mode 100644 src/buildstream/plugins/elements/pip.yaml
delete mode 100644 src/buildstream/plugins/sources/_downloadablefilesource.py
delete mode 100644 src/buildstream/plugins/sources/deb.py
create mode 100644 src/buildstream/plugins/sources/workspace.py
rename tests/sources/ostree/template/repofiles/file => src/buildstream/py.typed (100%)
delete mode 100644 src/buildstream/sandbox/_mount.py
delete mode 100644 src/buildstream/sandbox/_mounter.py
delete mode 100644 src/buildstream/sandbox/_sandboxbuildbox.py
create mode 100644 src/buildstream/sandbox/_sandboxbuildboxrun.py
delete mode 100644 src/buildstream/sandbox/_sandboxbwrap.py
delete mode 100644 src/buildstream/sandbox/_sandboxchroot.py
create mode 100644 src/buildstream/sandbox/_sandboxreapi.py
create mode 100644 src/buildstream/testing/_cachekeys.py
create mode 100644 src/buildstream/testing/_fixtures.py
delete mode 100644 src/buildstream/testing/_forked.py
create mode 100644 src/buildstream/testing/_sourcetests/conftest.py
create mode 100755 src/buildstream/testing/_update_cachekeys.py
create mode 100644 src/buildstream/testing/_yaml.py
delete mode 100644 tests/artifactcache/artifactservice.py
create mode 100644 tests/artifactcache/capabilities.py
copy tests/{sourcecache/missing-certs => artifactcache/only-one}/element.bst (100%)
create mode 100644 tests/cachekey/project/elements/build3.bst
create mode 100644 tests/cachekey/project/elements/build3.expected
delete mode 100755 tests/cachekey/update.py
create mode 100644 tests/elements/filter/basic/elements/forbidden-stack-dep.bst
create mode 100644 tests/elements/filter/basic/elements/no-pass-integration.bst
create mode 100644 tests/elements/filter/basic/elements/pass-integration.bst
create mode 100644 tests/elements/filter/basic/elements/stack.bst
delete mode 100644 tests/external_plugins.py
create mode 100644 tests/format/dependencies2/merge-separate-lists.bst
create mode 100644 tests/format/dependencies2/merge-single-list.bst
delete mode 100644 tests/format/dependencies3/all-all.bst
delete mode 100644 tests/format/dependencies3/build-all.bst
delete mode 100644 tests/format/dependencies3/build-build.bst
delete mode 100644 tests/format/dependencies3/build-runtime.bst
delete mode 100644 tests/format/dependencies3/dep.bst
create mode 100644 tests/format/dependencies3/elements/dep.bst
create mode 100644 tests/format/dependencies3/elements/dep2.bst
create mode 100644 tests/format/dependencies3/elements/invalid-filenames.bst
create mode 100644 tests/format/dependencies3/elements/runtime-error.bst
create mode 100644 tests/format/dependencies3/elements/shorthand-config.bst
create mode 100644 tests/format/dependencies3/elements/shorthand-junction.bst
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/dependencies3/elements/subproject.bst} (100%)
create mode 100644 tests/format/dependencies3/elements/supported1.bst
create mode 100644 tests/format/dependencies3/elements/supported2.bst
create mode 100644 tests/format/dependencies3/elements/unsupported.bst
create mode 100644 tests/format/dependencies3/plugins/configsupported.py
create mode 100644 tests/format/dependencies3/plugins/configunsupported.py
delete mode 100644 tests/format/dependencies3/runtime-all.bst
delete mode 100644 tests/format/dependencies3/runtime-runtime.bst
create mode 100644 tests/format/dependencies3/subproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/dependencies3/subproject/sub.txt} (100%)
create mode 100644 tests/format/dependencies3/subproject/target-a.bst
create mode 100644 tests/format/dependencies3/subproject/target-b.bst
copy tests/format/include/{sub-include => conditional-conflicts-complex}/element.bst (100%)
create mode 100644 tests/format/include/conditional-conflicts-complex/enable_work_around.yml
create mode 100644 tests/format/include/conditional-conflicts-complex/extra_conf.yml
create mode 100644 tests/format/include/conditional-conflicts-complex/extra_conf_i586.yml
create mode 100644 tests/format/include/conditional-conflicts-complex/extra_conf_x86_64.yml
create mode 100644 tests/format/include/conditional-conflicts-complex/options.yml
create mode 100644 tests/format/include/conditional-conflicts-complex/project.conf
create mode 100644 tests/format/include/conditional-conflicts-complex/work_around.yml
create mode 100644 tests/format/include/conditional-conflicts-element/element.bst
copy tests/format/include/{conditional => conditional-conflicts-element}/extra_conf.yml (100%)
create mode 100644 tests/format/include/conditional-conflicts-element/project.conf
create mode 100644 tests/format/include/conditional-conflicts-element/work_around.yml
copy tests/format/include/{sub-include => conditional-conflicts-options-included}/element.bst (100%)
copy tests/format/include/{conditional => conditional-conflicts-options-included}/extra_conf.yml (100%)
create mode 100644 tests/format/include/conditional-conflicts-options-included/options.yml
create mode 100644 tests/format/include/conditional-conflicts-options-included/project.conf
create mode 100644 tests/format/include/conditional-conflicts-options-included/work_around.yml
copy tests/format/include/{sub-include => conditional-conflicts-project}/element.bst (100%)
copy tests/format/include/{conditional => conditional-conflicts-project}/extra_conf.yml (100%)
create mode 100644 tests/format/include/conditional-conflicts-project/project.conf
create mode 100644 tests/format/include/conditional-conflicts-project/work_around.yml
copy tests/format/include/{sub-include => conditional-conflicts-toplevel-precedence}/element.bst (100%)
copy tests/format/include/{conditional => conditional-conflicts-toplevel-precedence}/extra_conf.yml (100%)
create mode 100644 tests/format/include/conditional-conflicts-toplevel-precedence/project.conf
create mode 100644 tests/format/include/conditional-conflicts-toplevel-precedence/work_around.yml
create mode 100644 tests/format/include/full_path/elements/element.bst
create mode 100644 tests/format/include/full_path/elements/invalid.bst
copy tests/format/{junctions/config-target => include/full_path}/elements/subproject.bst (100%)
create mode 100644 tests/format/include/full_path/project.conf
copy tests/format/{junctions/config-target => include/full_path}/subproject/elements/subsubproject-junction.bst (100%)
copy tests/format/{junctions/config-target/subproject/subsubproject => include/full_path/subproject}/files/hello.txt (100%)
create mode 100644 tests/format/include/full_path/subproject/project.conf
create mode 100644 tests/format/include/full_path/subproject/sub.yaml
create mode 100644 tests/format/include/full_path/subproject/subsubproject/project.conf
create mode 100644 tests/format/include/full_path/subproject/subsubproject/subsub.yaml
copy tests/format/include/{sub-include => junction_options}/element.bst (100%)
create mode 100644 tests/format/include/junction_options/project.conf
create mode 100644 tests/format/include/junction_options/subproject/extra_conf.yml
create mode 100644 tests/format/include/junction_options/subproject/project.conf
copy tests/format/include/{sub-include => junction_options_deep}/element.bst (100%)
create mode 100644 tests/format/include/junction_options_deep/project.conf
create mode 100644 tests/format/include/junction_options_deep/subproject-1/extra_conf.yml
create mode 100644 tests/format/include/junction_options_deep/subproject-1/project.conf
create mode 100644 tests/format/include/junction_options_deep/subproject-2/extra_conf.yml
create mode 100644 tests/format/include/junction_options_deep/subproject-2/project.conf
create mode 100644 tests/format/include/junction_options_element/element.bst
create mode 100644 tests/format/include/junction_options_element/project.conf
create mode 100644 tests/format/include/junction_options_element/subproject/extra_conf.yml
create mode 100644 tests/format/include/junction_options_element/subproject/project.conf
delete mode 100644 tests/format/junctions/bar/app.bst
delete mode 100644 tests/format/junctions/bar/bar.txt
delete mode 100644 tests/format/junctions/bar/base.bst
delete mode 100644 tests/format/junctions/bar/project.conf
delete mode 100644 tests/format/junctions/bar/target.bst
delete mode 100644 tests/format/junctions/base/project.conf
create mode 100644 tests/format/junctions/circular-references/link-subsubsubproject.bst
create mode 100644 tests/format/junctions/circular-references/project.conf
create mode 100644 tests/format/junctions/circular-references/subproject-overriden-with-circular-reference-link.bst
create mode 100644 tests/format/junctions/circular-references/subproject-overriden-with-circular-reference.bst
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/circular-references/subproject.bst} (100%)
create mode 100644 tests/format/junctions/circular-references/subproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/circular-references/subproject/sub.txt} (100%)
create mode 100644 tests/format/junctions/circular-references/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/circular-references/subproject/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/circular-references/subproject/subsubproject/subsub.txt} (100%)
create mode 100644 tests/format/junctions/circular-references/subproject/subsubproject/subsubsubproject.bst
create mode 100644 tests/format/junctions/circular-references/subproject/subsubproject/subsubsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/circular-references/subproject/subsubproject/subsubsubproject/subsubsub.txt} (100%)
create mode 100644 tests/format/junctions/circular-references/subproject/subsubproject/subsubsubproject/target.bst
create mode 100644 tests/format/junctions/circular-references/subproject/subsubproject/target.bst
create mode 100644 tests/format/junctions/circular-references/subproject/target.bst
create mode 100644 tests/format/junctions/circular-references/target-overridden-subsubproject-circular-link.bst
create mode 100644 tests/format/junctions/circular-references/target-overridden-subsubproject-circular.bst
delete mode 100644 tests/format/junctions/config-target/elements/invalid-source-target.bst
delete mode 100644 tests/format/junctions/config-target/elements/nested-junction-target.bst
delete mode 100644 tests/format/junctions/config-target/elements/no-junction.bst
delete mode 100644 tests/format/junctions/config-target/elements/subsubproject.bst
delete mode 100644 tests/format/junctions/config-target/elements/target.bst
delete mode 100644 tests/format/junctions/config-target/project.conf
delete mode 100644 tests/format/junctions/config-target/subproject/project.conf
delete mode 100644 tests/format/junctions/config-target/subproject/subsubproject/project.conf
delete mode 100644 tests/format/junctions/conflict/bar.bst
delete mode 100644 tests/format/junctions/conflict/foo.bst
delete mode 100644 tests/format/junctions/conflict/project.conf
delete mode 100644 tests/format/junctions/conflict/target.bst
create mode 100644 tests/format/junctions/conflicts/include-conflict-target.bst
create mode 100644 tests/format/junctions/conflicts/include-conflict.bst
create mode 100644 tests/format/junctions/conflicts/nested-conflict-toplevel.bst
create mode 100644 tests/format/junctions/conflicts/override-conflict.bst
create mode 100644 tests/format/junctions/conflicts/plugin-conflict.bst
create mode 100644 tests/format/junctions/conflicts/project.conf
create mode 100644 tests/format/junctions/conflicts/simple-conflict.bst
create mode 100644 tests/format/junctions/conflicts/subproject-override-conflicting-path.bst
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/conflicts/subproject.bst} (100%)
create mode 100644 tests/format/junctions/conflicts/subproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/conflicts/subproject/sub.txt} (100%)
create mode 100644 tests/format/junctions/conflicts/subproject/subsubproject-conflict-target.bst
create mode 100644 tests/format/junctions/conflicts/subproject/subsubproject-conflict.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/conflicts/subproject/subsubproject-conflict/deepsurprise.txt} (100%)
create mode 100644 tests/format/junctions/conflicts/subproject/subsubproject-conflict/project.conf
create mode 100644 tests/format/junctions/conflicts/subproject/subsubproject-conflict/target.bst
create mode 100644 tests/format/junctions/conflicts/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/conflicts/subproject/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/conflicts/subproject/subsubproject/subsub.txt} (100%)
create mode 100644 tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject.bst
create mode 100644 tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/conflicts/subproject/subsubproject/subsubsubproject/subsubsub.txt} (100%)
create mode 100644 tests/format/junctions/conflicts/subproject/subsubproject/subsubsubproject/target.bst
create mode 100644 tests/format/junctions/conflicts/subproject/subsubproject/target.bst
create mode 100644 tests/format/junctions/conflicts/subproject/target.bst
create mode 100644 tests/format/junctions/conflicts/subproject2.bst
create mode 100644 tests/format/junctions/conflicts/subproject2/inc.yaml
create mode 100644 tests/format/junctions/conflicts/subproject2/plugins/found.py
create mode 100644 tests/format/junctions/conflicts/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/conflicts/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/conflicts/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-full-path/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/duplicates-nested-full-path/subproject.bst} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-full-path/subproject/project.conf
create mode 100644 tests/format/junctions/duplicates-nested-full-path/subproject/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-nested-full-path/subproject/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-full-path/subproject/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-full-path/subproject/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-full-path/subproject/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-nested-full-path/subproject/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-full-path/subproject/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-full-path/subproject/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-full-path/subproject3.bst
create mode 100644 tests/format/junctions/duplicates-nested-full-path/subproject3/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-full-path/subproject3/sub3.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-full-path/subproject3/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-full-path/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/duplicates-nested-incomplete/subproject.bst} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/subproject/project.conf
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/subproject/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/subproject/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-incomplete/subproject/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/subproject/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/subproject/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/subproject/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-incomplete/subproject/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/subproject/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/subproject3.bst
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/subproject3/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-incomplete/subproject3/sub3.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/subproject3/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-incomplete/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-link1/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/duplicates-nested-link1/subproject.bst} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject/project.conf
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject/subproject1-link.bst
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-link1/subproject/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-link1/subproject/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject3.bst
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject3/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-link1/subproject3/sub3.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-link1/subproject3/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-link1/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-link2/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/duplicates-nested-link2/subproject.bst} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject/project.conf
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-link2/subproject/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-link2/subproject/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject2-link.bst
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject3.bst
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject3/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-link2/subproject3/sub3.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-link2/subproject3/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-link2/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-not-found/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/duplicates-nested-not-found/subproject.bst} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject/project.conf
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject/subproject1-link.bst
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-not-found/subproject/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-not-found/subproject/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject3.bst
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject3/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested-not-found/subproject3/sub3.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested-not-found/subproject3/target.bst
create mode 100644 tests/format/junctions/duplicates-nested-not-found/target.bst
create mode 100644 tests/format/junctions/duplicates-nested/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/duplicates-nested/subproject.bst} (100%)
create mode 100644 tests/format/junctions/duplicates-nested/subproject/project.conf
create mode 100644 tests/format/junctions/duplicates-nested/subproject/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-nested/subproject/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested/subproject/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested/subproject/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-nested/subproject/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-nested/subproject/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested/subproject/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested/subproject/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-nested/subproject3.bst
create mode 100644 tests/format/junctions/duplicates-nested/subproject3/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-nested/subproject3/sub3.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-nested/subproject3/target.bst
create mode 100644 tests/format/junctions/duplicates-nested/target.bst
create mode 100644 tests/format/junctions/duplicates-override-dup/project.conf
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject.bst
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject/project.conf
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-override-dup/subproject/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-override-dup/subproject/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject3.bst
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject3/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-override-dup/subproject3/sub3.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-override-dup/subproject3/target.bst
create mode 100644 tests/format/junctions/duplicates-override-dup/target.bst
create mode 100644 tests/format/junctions/duplicates-override-twice-link/duplicate.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-override-twice-link/duplicate/duplicate.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-override-twice-link/duplicate/project.conf
create mode 100644 tests/format/junctions/duplicates-override-twice-link/duplicate/target.bst
create mode 100644 tests/format/junctions/duplicates-override-twice-link/override.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-override-twice-link/override/overridden-again.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-override-twice-link/override/project.conf
create mode 100644 tests/format/junctions/duplicates-override-twice-link/override/target.bst
create mode 100644 tests/format/junctions/duplicates-override-twice-link/project.conf
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject.bst
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject/override.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-override-twice-link/subproject/override/overridden.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject/override/project.conf
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject/override/target.bst
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject/project.conf
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject/subsubproject/project.conf
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject/subsubproject/subsubsubproject.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-override-twice-link/subproject/subsubproject/subsubsubproject/original.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject/subsubproject/subsubsubproject/project.conf
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject/subsubproject/subsubsubproject/target.bst
create mode 100644 tests/format/junctions/duplicates-override-twice-link/subproject/subsubsubproject-link.bst
create mode 100644 tests/format/junctions/duplicates-override-twice-link/target.bst
create mode 100644 tests/format/junctions/duplicates-simple-incomplete/project.conf
create mode 100644 tests/format/junctions/duplicates-simple-incomplete/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-simple-incomplete/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-simple-incomplete/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-simple-incomplete/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-simple-incomplete/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-simple-incomplete/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-simple-incomplete/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-simple-incomplete/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-simple-incomplete/target.bst
create mode 100644 tests/format/junctions/duplicates-simple-link/project.conf
create mode 100644 tests/format/junctions/duplicates-simple-link/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-simple-link/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-simple-link/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-simple-link/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-simple-link/subproject2-link.bst
create mode 100644 tests/format/junctions/duplicates-simple-link/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-simple-link/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-simple-link/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-simple-link/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-simple-link/target.bst
create mode 100644 tests/format/junctions/duplicates-simple-not-found/project.conf
create mode 100644 tests/format/junctions/duplicates-simple-not-found/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-simple-not-found/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-simple-not-found/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-simple-not-found/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-simple-not-found/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-simple-not-found/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-simple-not-found/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-simple-not-found/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-simple-not-found/target.bst
create mode 100644 tests/format/junctions/duplicates-simple/project.conf
create mode 100644 tests/format/junctions/duplicates-simple/subproject1.bst
create mode 100644 tests/format/junctions/duplicates-simple/subproject1/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-simple/subproject1/sub.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-simple/subproject1/target.bst
create mode 100644 tests/format/junctions/duplicates-simple/subproject2.bst
create mode 100644 tests/format/junctions/duplicates-simple/subproject2/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/duplicates-simple/subproject2/sub2.txt} (100%)
create mode 100644 tests/format/junctions/duplicates-simple/subproject2/target.bst
create mode 100644 tests/format/junctions/duplicates-simple/target.bst
delete mode 100644 tests/format/junctions/foo/app.bst
delete mode 100644 tests/format/junctions/foo/base.bst
delete mode 100644 tests/format/junctions/foo/foo.txt
delete mode 100644 tests/format/junctions/foo/project.conf
delete mode 100644 tests/format/junctions/foo/target.bst
create mode 100644 tests/format/junctions/full-path/element-full-path-notfound.bst
create mode 100644 tests/format/junctions/full-path/element-full-path.bst
create mode 100644 tests/format/junctions/full-path/junction-full-path-notfound.bst
create mode 100644 tests/format/junctions/full-path/junction-full-path.bst
create mode 100644 tests/format/junctions/full-path/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/full-path/subproject.bst} (100%)
create mode 100644 tests/format/junctions/full-path/subproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/full-path/subproject/sub.txt} (100%)
create mode 100644 tests/format/junctions/full-path/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/full-path/subproject/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/full-path/subproject/subsubproject/subsub.txt} (100%)
create mode 100644 tests/format/junctions/full-path/subproject/subsubproject/subsubsubproject.bst
create mode 100644 tests/format/junctions/full-path/subproject/subsubproject/subsubsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/full-path/subproject/subsubproject/subsubsubproject/subsubsub.txt} (100%)
create mode 100644 tests/format/junctions/full-path/subproject/subsubproject/subsubsubproject/target.bst
create mode 100644 tests/format/junctions/full-path/subproject/subsubproject/target.bst
create mode 100644 tests/format/junctions/full-path/subproject/target.bst
delete mode 100644 tests/format/junctions/inconsistent-names/elements/junction-A.bst
delete mode 100644 tests/format/junctions/inconsistent-names/elements/junction-B-diff-name.bst
delete mode 100644 tests/format/junctions/inconsistent-names/elements/target.bst
delete mode 100644 tests/format/junctions/inconsistent-names/junctionA/elements/app.bst
delete mode 100644 tests/format/junctions/inconsistent-names/junctionA/elements/junction-B.bst
delete mode 100644 tests/format/junctions/inconsistent-names/junctionA/elements/lib.bst
delete mode 100644 tests/format/junctions/inconsistent-names/junctionA/junctionB/elements/base.bst
delete mode 100644 tests/format/junctions/inconsistent-names/junctionA/junctionB/elements/lib2.bst
delete mode 100644 tests/format/junctions/inconsistent-names/junctionA/junctionB/project.conf
delete mode 100644 tests/format/junctions/inconsistent-names/junctionA/project.conf
delete mode 100644 tests/format/junctions/inconsistent-names/project.conf
create mode 100644 tests/format/junctions/internal-and-conflict/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/internal-and-conflict/subproject.bst} (100%)
create mode 100644 tests/format/junctions/internal-and-conflict/subproject/project.conf
create mode 100644 tests/format/junctions/internal-and-conflict/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/internal-and-conflict/subproject/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-and-conflict/subproject/subsubproject/subsub.txt} (100%)
create mode 100644 tests/format/junctions/internal-and-conflict/subproject/subsubproject/target.bst
create mode 100644 tests/format/junctions/internal-and-conflict/subproject/subtarget.bst
create mode 100644 tests/format/junctions/internal-and-conflict/subsubproject-again.bst
create mode 100644 tests/format/junctions/internal-and-conflict/subsubproject-again/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-and-conflict/subsubproject-again/subsub-again.txt} (100%)
create mode 100644 tests/format/junctions/internal-and-conflict/subsubproject-again/target.bst
create mode 100644 tests/format/junctions/internal-and-conflict/subsubproject-conflict.bst
create mode 100644 tests/format/junctions/internal-and-conflict/subsubproject-conflict/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-and-conflict/subsubproject-conflict/subsub-again.txt} (100%)
create mode 100644 tests/format/junctions/internal-and-conflict/subsubproject-conflict/target.bst
create mode 100644 tests/format/junctions/internal-and-conflict/target.bst
create mode 100644 tests/format/junctions/internal-double/project.conf
create mode 100644 tests/format/junctions/internal-double/subproject1.bst
create mode 100644 tests/format/junctions/internal-double/subproject1/project.conf
create mode 100644 tests/format/junctions/internal-double/subproject1/subsubproject.bst
create mode 100644 tests/format/junctions/internal-double/subproject1/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-double/subproject1/subsubproject/subsub1.txt} (100%)
create mode 100644 tests/format/junctions/internal-double/subproject1/subsubproject/target.bst
create mode 100644 tests/format/junctions/internal-double/subproject1/subtarget.bst
create mode 100644 tests/format/junctions/internal-double/subproject2.bst
create mode 100644 tests/format/junctions/internal-double/subproject2/project.conf
create mode 100644 tests/format/junctions/internal-double/subproject2/subsubproject.bst
create mode 100644 tests/format/junctions/internal-double/subproject2/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-double/subproject2/subsubproject/subsub2.txt} (100%)
create mode 100644 tests/format/junctions/internal-double/subproject2/subsubproject/target.bst
create mode 100644 tests/format/junctions/internal-double/subproject2/subtarget.bst
create mode 100644 tests/format/junctions/internal-double/subsubproject-again.bst
create mode 100644 tests/format/junctions/internal-double/subsubproject-again/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-double/subsubproject-again/subsub-again.txt} (100%)
create mode 100644 tests/format/junctions/internal-double/subsubproject-again/target.bst
create mode 100644 tests/format/junctions/internal-double/target.bst
create mode 100644 tests/format/junctions/internal-link/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/internal-link/subproject.bst} (100%)
create mode 100644 tests/format/junctions/internal-link/subproject/project.conf
create mode 100644 tests/format/junctions/internal-link/subproject/subsubproject-link.bst
create mode 100644 tests/format/junctions/internal-link/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/internal-link/subproject/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-link/subproject/subsubproject/subsub.txt} (100%)
create mode 100644 tests/format/junctions/internal-link/subproject/subsubproject/target.bst
create mode 100644 tests/format/junctions/internal-link/subproject/subtarget.bst
create mode 100644 tests/format/junctions/internal-link/subsubproject-again.bst
create mode 100644 tests/format/junctions/internal-link/subsubproject-again/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-link/subsubproject-again/subsub-again.txt} (100%)
create mode 100644 tests/format/junctions/internal-link/subsubproject-again/target.bst
create mode 100644 tests/format/junctions/internal-link/target.bst
create mode 100644 tests/format/junctions/internal-override/project.conf
create mode 100644 tests/format/junctions/internal-override/subproject.bst
create mode 100644 tests/format/junctions/internal-override/subproject/project.conf
create mode 100644 tests/format/junctions/internal-override/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/internal-override/subproject/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-override/subproject/subsubproject/subsub.txt} (100%)
create mode 100644 tests/format/junctions/internal-override/subproject/subsubproject/target.bst
create mode 100644 tests/format/junctions/internal-override/subproject/subtarget.bst
create mode 100644 tests/format/junctions/internal-override/subsubproject-again.bst
create mode 100644 tests/format/junctions/internal-override/subsubproject-again/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-override/subsubproject-again/subsub-again.txt} (100%)
create mode 100644 tests/format/junctions/internal-override/subsubproject-again/target.bst
create mode 100644 tests/format/junctions/internal-override/subsubproject-override.bst
create mode 100644 tests/format/junctions/internal-override/subsubproject-override/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-override/subsubproject-override/subsub-override.txt} (100%)
create mode 100644 tests/format/junctions/internal-override/subsubproject-override/target.bst
create mode 100644 tests/format/junctions/internal-override/target.bst
create mode 100644 tests/format/junctions/internal-simple/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/internal-simple/subproject.bst} (100%)
create mode 100644 tests/format/junctions/internal-simple/subproject/project.conf
create mode 100644 tests/format/junctions/internal-simple/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/internal-simple/subproject/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-simple/subproject/subsubproject/subsub.txt} (100%)
create mode 100644 tests/format/junctions/internal-simple/subproject/subsubproject/target.bst
create mode 100644 tests/format/junctions/internal-simple/subproject/subtarget.bst
create mode 100644 tests/format/junctions/internal-simple/subsubproject-again.bst
create mode 100644 tests/format/junctions/internal-simple/subsubproject-again/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/internal-simple/subsubproject-again/subsub-again.txt} (100%)
create mode 100644 tests/format/junctions/internal-simple/subsubproject-again/target.bst
create mode 100644 tests/format/junctions/internal-simple/target.bst
copy tests/format/junctions/{ => invalid}/base/base.txt (100%)
create mode 100644 tests/format/junctions/invalid/base/project.conf
copy tests/format/junctions/{ => invalid}/base/target.bst (100%)
delete mode 100644 tests/format/junctions/invalid/missing-element.bst
create mode 100644 tests/format/junctions/invalid/subproject-self-override.bst
create mode 100644 tests/format/junctions/invalid/target-self-override.bst
rename tests/format/junctions/{invalid/missing.bst => missing-element/bad-junction.bst} (100%)
create mode 100644 tests/format/junctions/nested/deeptarget.bst
delete mode 100644 tests/format/junctions/nested/foo.bst
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/nested/subproject.bst} (100%)
create mode 100644 tests/format/junctions/nested/subproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/nested/subproject/sub.txt} (100%)
create mode 100644 tests/format/junctions/nested/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/nested/subproject/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/nested/subproject/subsubproject/subsub.txt} (100%)
create mode 100644 tests/format/junctions/nested/subproject/subsubproject/subsubsubproject.bst
create mode 100644 tests/format/junctions/nested/subproject/subsubproject/subsubsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/nested/subproject/subsubproject/subsubsubproject/subsubsub.txt} (100%)
create mode 100644 tests/format/junctions/nested/subproject/subsubproject/subsubsubproject/target.bst
create mode 100644 tests/format/junctions/nested/subproject/subsubproject/subtarget.bst
create mode 100644 tests/format/junctions/nested/subproject/subsubproject/target.bst
create mode 100644 tests/format/junctions/nested/subproject/subsubtarget.bst
create mode 100644 tests/format/junctions/nested/subproject/subtarget.bst
create mode 100644 tests/format/junctions/nested/subproject/target.bst
delete mode 100644 tests/format/junctions/options-base/project.conf
delete mode 100644 tests/format/junctions/options-default/project.conf
delete mode 100644 tests/format/junctions/options-default/target.bst
delete mode 100644 tests/format/junctions/options-inherit/project.conf
delete mode 100644 tests/format/junctions/options-inherit/target.bst
rename tests/format/junctions/{options-default/base.bst => options/base-default.bst} (100%)
rename tests/format/junctions/options/{base.bst => base-explicit.bst} (100%)
rename tests/format/junctions/{options-inherit/base.bst => options/base-propagate.bst} (100%)
rename tests/format/junctions/{ => options}/options-base/horsy.txt (100%)
rename tests/format/junctions/{ => options}/options-base/pony.txt (100%)
create mode 100644 tests/format/junctions/options/options-base/project.conf
rename tests/format/junctions/{ => options}/options-base/target.bst (100%)
create mode 100644 tests/format/junctions/options/target-default.bst
create mode 100644 tests/format/junctions/options/target-explicit.bst
create mode 100644 tests/format/junctions/options/target-propagate.bst
rename tests/{sources/deb/no-basedir/content/usr/share/lua/5.1/clod.lua => format/junctions/override-element/element.txt} (100%)
create mode 100644 tests/format/junctions/override-element/override-subproject-dep.bst
create mode 100644 tests/format/junctions/override-element/override-subproject-element-using-link.bst
create mode 100644 tests/format/junctions/override-element/override-subproject-element-with-link.bst
create mode 100644 tests/format/junctions/override-element/override-subproject-element.bst
create mode 100644 tests/format/junctions/override-element/override-subsubproject.bst
create mode 100644 tests/format/junctions/override-element/project.conf
create mode 100644 tests/format/junctions/override-element/subdep-override.bst
rename tests/{sources/deb/no-basedir/content/usr/share/doc/lua-clod/copyright => format/junctions/override-element/subdep-override.txt} (100%)
create mode 100644 tests/format/junctions/override-element/subelement-alternative-link.bst
create mode 100644 tests/format/junctions/override-element/subelement-override.bst
rename tests/{sources/deb/no-basedir/content/usr/share/doc/lua-clod/README => format/junctions/override-element/subelement-override.txt} (100%)
create mode 100644 tests/format/junctions/override-element/subproject-override-dep.bst
create mode 100644 tests/format/junctions/override-element/subproject-override-element-using-link.bst
create mode 100644 tests/format/junctions/override-element/subproject-override-element-with-link.bst
create mode 100644 tests/format/junctions/override-element/subproject-override-element.bst
create mode 100644 tests/format/junctions/override-element/subproject-override-subsubproject-element.bst
create mode 100644 tests/format/junctions/override-element/subproject/project.conf
rename tests/{sources/deb/fetch/content/usr/share/lua/5.1/clod.lua => format/junctions/override-element/subproject/sub-alternative.txt} (100%)
rename tests/{sources/deb/fetch/content/usr/share/doc/lua-clod/copyright => format/junctions/override-element/subproject/sub.txt} (100%)
rename tests/{sources/deb/fetch/content/usr/share/doc/lua-clod/README => format/junctions/override-element/subproject/subdep.txt} (100%)
create mode 100644 tests/format/junctions/override-element/subproject/subdependency.bst
create mode 100644 tests/format/junctions/override-element/subproject/subelement-alternative.bst
create mode 100644 tests/format/junctions/override-element/subproject/subelement-link.bst
create mode 100644 tests/format/junctions/override-element/subproject/subelement.bst
create mode 100644 tests/format/junctions/override-element/subproject/subsubdep-override.bst
rename tests/{sources/deb/explicit-basedir/content/share/lua/5.1/clod.lua => format/junctions/override-element/subproject/subsubdep-override.txt} (100%)
create mode 100644 tests/format/junctions/override-element/subproject/subsubproject-override-dep.bst
create mode 100644 tests/format/junctions/override-element/subproject/subsubproject/project.conf
rename tests/{sources/deb/explicit-basedir/content/share/doc/lua-clod/copyright => format/junctions/override-element/subproject/subsubproject/subsub.txt} (100%)
rename tests/{sources/deb/explicit-basedir/content/share/doc/lua-clod/README => format/junctions/override-element/subproject/subsubproject/subsubdep.txt} (100%)
create mode 100644 tests/format/junctions/override-element/subproject/subsubproject/subsubdependency.bst
create mode 100644 tests/format/junctions/override-element/subproject/subsubproject/subsubelement.bst
create mode 100644 tests/format/junctions/override-twice/override.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/override-twice/override/overridden-again.txt} (100%)
create mode 100644 tests/format/junctions/override-twice/override/project.conf
create mode 100644 tests/format/junctions/override-twice/override/target.bst
create mode 100644 tests/format/junctions/override-twice/project.conf
create mode 100644 tests/format/junctions/override-twice/subproject.bst
create mode 100644 tests/format/junctions/override-twice/subproject/override.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/override-twice/subproject/override/overridden.txt} (100%)
create mode 100644 tests/format/junctions/override-twice/subproject/override/project.conf
create mode 100644 tests/format/junctions/override-twice/subproject/override/target.bst
create mode 100644 tests/format/junctions/override-twice/subproject/project.conf
create mode 100644 tests/format/junctions/override-twice/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/override-twice/subproject/subsubproject/project.conf
create mode 100644 tests/format/junctions/override-twice/subproject/subsubproject/subsubsubproject.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/override-twice/subproject/subsubproject/subsubsubproject/original.txt} (100%)
create mode 100644 tests/format/junctions/override-twice/subproject/subsubproject/subsubsubproject/project.conf
create mode 100644 tests/format/junctions/override-twice/subproject/subsubproject/subsubsubproject/target.bst
create mode 100644 tests/format/junctions/override-twice/target.bst
create mode 100644 tests/format/junctions/overrides/overridden-subsubproject.bst
create mode 100644 tests/format/junctions/overrides/overridden-subsubsubproject.bst
create mode 100644 tests/format/junctions/overrides/project.conf
create mode 100644 tests/format/junctions/overrides/subproject-overriden-with-deep-subproject.bst
create mode 100644 tests/format/junctions/overrides/subproject-with-deep-override-indirect-link.bst
create mode 100644 tests/format/junctions/overrides/subproject-with-deep-override-link.bst
create mode 100644 tests/format/junctions/overrides/subproject-with-deep-override.bst
create mode 100644 tests/format/junctions/overrides/subproject-with-overridden-link.bst
create mode 100644 tests/format/junctions/overrides/subproject-with-override.bst
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/overrides/subproject.bst} (100%)
create mode 100644 tests/format/junctions/overrides/subproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/overrides/subproject/sub.txt} (100%)
create mode 100644 tests/format/junctions/overrides/subproject/subsubproject-link.bst
create mode 100644 tests/format/junctions/overrides/subproject/subsubproject.bst
create mode 100644 tests/format/junctions/overrides/subproject/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/overrides/subproject/subsubproject/subsub.txt} (100%)
create mode 100644 tests/format/junctions/overrides/subproject/subsubproject/subsubsubproject-link.bst
create mode 100644 tests/format/junctions/overrides/subproject/subsubproject/subsubsubproject.bst
create mode 100644 tests/format/junctions/overrides/subproject/subsubproject/subsubsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/overrides/subproject/subsubproject/subsubsubproject/subsubsub.txt} (100%)
create mode 100644 tests/format/junctions/overrides/subproject/subsubproject/subsubsubproject/target.bst
create mode 100644 tests/format/junctions/overrides/subproject/subsubproject/target.bst
create mode 100644 tests/format/junctions/overrides/subproject/subsubsubproject-indirect-link.bst
create mode 100644 tests/format/junctions/overrides/subproject/target.bst
create mode 100644 tests/format/junctions/overrides/surpriseproject.bst
create mode 100644 tests/format/junctions/overrides/surpriseproject/deepsurpriseproject.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/overrides/surpriseproject/deepsurpriseproject/deepsurprise.txt} (100%)
create mode 100644 tests/format/junctions/overrides/surpriseproject/deepsurpriseproject/project.conf
create mode 100644 tests/format/junctions/overrides/surpriseproject/deepsurpriseproject/target.bst
create mode 100644 tests/format/junctions/overrides/surpriseproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/overrides/surpriseproject/surprise.txt} (100%)
create mode 100644 tests/format/junctions/overrides/surpriseproject/target.bst
create mode 100644 tests/format/junctions/overrides/target-overridden-subsubproject-link.bst
create mode 100644 tests/format/junctions/overrides/target-overridden-subsubproject.bst
create mode 100644 tests/format/junctions/overrides/target-overridden-subsubsubproject-indirect-link.bst
create mode 100644 tests/format/junctions/overrides/target-overridden-subsubsubproject-link.bst
create mode 100644 tests/format/junctions/overrides/target-overridden-subsubsubproject.bst
create mode 100644 tests/format/junctions/overrides/target-overridden-with-deepsubproject.bst
create mode 100644 tests/format/junctions/simple/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/junctions/simple/subproject.bst} (100%)
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/junctions/simple/subproject/base.txt} (100%)
create mode 100644 tests/format/junctions/simple/subproject/project.conf
copy tests/format/junctions/{base => simple/subproject}/target.bst (100%)
create mode 100644 tests/format/junctions/simple/target.bst
delete mode 100644 tests/format/junctions/toplevel/bar.bst
delete mode 100644 tests/format/junctions/toplevel/foo.bst
delete mode 100644 tests/format/junctions/toplevel/project.conf
delete mode 100644 tests/format/junctions/toplevel/target.bst
rename tests/format/junctions/{base => use-repo/baserepo}/base.txt (100%)
create mode 100644 tests/format/junctions/use-repo/baserepo/project.conf
rename tests/format/junctions/{base => use-repo/baserepo}/target.bst (100%)
create mode 100644 tests/format/junctions/use-repo/project.conf
rename tests/format/junctions/{options => use-repo}/target.bst (100%)
create mode 100644 tests/format/link.py
copy tests/format/{junctions/config-target => link/conditional-junctions}/elements/subproject.bst (100%)
create mode 100644 tests/format/link/conditional-junctions/elements/subsubproject-link.bst
create mode 100644 tests/format/link/conditional-junctions/elements/target.bst
create mode 100644 tests/format/link/conditional-junctions/project.conf
copy tests/format/{junctions/config-target/subproject/subsubproject => link/conditional-junctions/subproject}/elements/hello.bst (100%)
create mode 100644 tests/format/link/conditional-junctions/subproject/elements/subsubproject-goodbye-junction.bst
create mode 100644 tests/format/link/conditional-junctions/subproject/elements/subsubproject-hello-junction.bst
create mode 100644 tests/format/link/conditional-junctions/subproject/project.conf
create mode 100644 tests/format/link/conditional-junctions/subproject/subsubproject-goodbye/elements/target.bst
copy tests/{sources/tar/out-of-basedir-hardlinks/contents/to_extract/a => format/link/conditional-junctions/subproject/subsubproject-goodbye/files/goodbye.txt} (100%)
create mode 100644 tests/format/link/conditional-junctions/subproject/subsubproject-goodbye/project.conf
copy tests/format/{junctions/config-target/subproject/subsubproject/elements/hello.bst => link/conditional-junctions/subproject/subsubproject-hello/elements/target.bst} (100%)
copy tests/format/{junctions/config-target/subproject/subsubproject => link/conditional-junctions/subproject/subsubproject-hello}/files/hello.txt (100%)
create mode 100644 tests/format/link/conditional-junctions/subproject/subsubproject-hello/project.conf
create mode 100644 tests/format/link/conditional/elements/goodbye.bst
copy tests/format/{junctions/config-target/subproject/subsubproject => link/conditional}/elements/hello.bst (100%)
create mode 100644 tests/format/link/conditional/elements/target-link.bst
create mode 100644 tests/format/link/conditional/elements/target.bst
copy tests/{sources/tar/out-of-basedir-hardlinks/contents/to_extract/a => format/link/conditional/files/goodbye.txt} (100%)
copy tests/format/{junctions/config-target/subproject/subsubproject => link/conditional}/files/hello.txt (100%)
create mode 100644 tests/format/link/conditional/project.conf
create mode 100644 tests/format/link/cross-link-junction-include/project.conf
copy tests/{frontend/track-cross-junction/subproject-junction.bst => format/link/cross-link-junction-include/subproject.bst} (100%)
create mode 100644 tests/format/link/cross-link-junction-include/subproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/link/cross-link-junction-include/subproject/sub.txt} (100%)
create mode 100644 tests/format/link/cross-link-junction-include/subproject/subsubproject.bst
create mode 100644 tests/format/link/cross-link-junction-include/subproject/subsubproject/file.yml
create mode 100644 tests/format/link/cross-link-junction-include/subproject/subsubproject/project.conf
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => format/link/cross-link-junction-include/subproject/subsubproject/subsub.txt} (100%)
create mode 100644 tests/format/link/cross-link-junction-include/subproject/subsubproject/subtarget.bst
create mode 100644 tests/format/link/cross-link-junction-include/subproject/subsubproject/target.bst
create mode 100644 tests/format/link/cross-link-junction-include/subproject/subtarget.bst
create mode 100644 tests/format/link/cross-link-junction-include/subproject/target.bst
create mode 100644 tests/format/link/cross-link-junction-include/subsubproject.bst
create mode 100644 tests/format/link/cross-link-junction-include/target.bst
create mode 100644 tests/format/link/invalid/elements/base-file.bst
create mode 100644 tests/format/link/invalid/elements/link-with-dependencies.bst
create mode 100644 tests/format/link/invalid/elements/link-with-sources.bst
create mode 100644 tests/format/link/invalid/elements/target-link-with-sources.bst
create mode 100644 tests/format/link/invalid/project.conf
create mode 100644 tests/format/link/notfound/elements/depends-on-link-target.bst
create mode 100644 tests/format/link/notfound/elements/link-full-path.bst
create mode 100644 tests/format/link/notfound/elements/link-target.bst
create mode 100644 tests/format/link/notfound/elements/linked-local-junction-target.bst
create mode 100644 tests/format/link/notfound/elements/linked-local-junction.bst
create mode 100644 tests/format/link/notfound/elements/linked-nested-junction-target.bst
create mode 100644 tests/format/link/notfound/elements/linked-nested-junction.bst
create mode 100644 tests/format/link/notfound/elements/subproject-link-notfound.bst
create mode 100644 tests/format/link/notfound/elements/subproject-link.bst
copy tests/format/{junctions/config-target => link/notfound}/elements/subproject.bst (100%)
create mode 100644 tests/format/link/notfound/elements/subsubproject-link-notfound.bst
create mode 100644 tests/format/link/notfound/elements/subsubproject-link.bst
create mode 100644 tests/format/link/notfound/elements/target-full-path.bst
create mode 100644 tests/format/link/notfound/project.conf
copy tests/format/{junctions/config-target => link/notfound}/subproject/elements/subsubproject-junction.bst (100%)
create mode 100644 tests/format/link/notfound/subproject/project.conf
create mode 100644 tests/format/link/notfound/subproject/subsubproject/project.conf
create mode 100644 tests/format/link/simple-junctions/elements/full-path-link.bst
create mode 100644 tests/format/link/simple-junctions/elements/subproject-link.bst
copy tests/format/{junctions/config-target => link/simple-junctions}/elements/subproject.bst (100%)
create mode 100644 tests/format/link/simple-junctions/elements/subsubproject-link.bst
create mode 100644 tests/format/link/simple-junctions/elements/target-full-path.bst
create mode 100644 tests/format/link/simple-junctions/elements/target-local.bst
create mode 100644 tests/format/link/simple-junctions/elements/target-nested.bst
create mode 100644 tests/format/link/simple-junctions/project.conf
copy tests/format/{junctions/config-target/subproject/subsubproject => link/simple-junctions/subproject}/elements/hello.bst (100%)
copy tests/format/{junctions/config-target => link/simple-junctions}/subproject/elements/subsubproject-junction.bst (100%)
copy tests/format/{junctions/config-target/subproject/subsubproject => link/simple-junctions/subproject}/files/hello.txt (100%)
create mode 100644 tests/format/link/simple-junctions/subproject/project.conf
copy tests/format/{junctions/config-target => link/simple-junctions}/subproject/subsubproject/elements/hello.bst (100%)
copy tests/format/{junctions/config-target => link/simple-junctions}/subproject/subsubproject/files/hello.txt (100%)
create mode 100644 tests/format/link/simple-junctions/subproject/subsubproject/project.conf
create mode 100644 tests/format/link/simple/elements/hello-link.bst
rename tests/format/{junctions/config-target/subproject/subsubproject => link/simple}/elements/hello.bst (100%)
create mode 100644 tests/format/link/simple/elements/target.bst
rename tests/format/{junctions/config-target/subproject/subsubproject => link/simple}/files/hello.txt (100%)
create mode 100644 tests/format/link/simple/project.conf
create mode 100644 tests/format/option-list-directive.py
create mode 100644 tests/format/option-list-directive/project.conf
delete mode 100644 tests/format/project/plugin-allowed/element.bst
delete mode 100644 tests/format/project/plugin-allowed/plugins/foo.py
delete mode 100644 tests/format/project/plugin-allowed/project.conf
delete mode 100644 tests/format/project/plugin-forbidden/element.bst
delete mode 100644 tests/format/project/plugin-forbidden/forbidden-plugins/forbidden-plugin.py
delete mode 100644 tests/format/project/plugin-forbidden/project.conf
create mode 100644 tests/format/stack.py
create mode 100644 tests/format/stack/elements/build-only-stack.bst
create mode 100644 tests/format/stack/elements/dependency.bst
create mode 100644 tests/format/stack/elements/runtime-only-stack.bst
create mode 100644 tests/format/stack/project.conf
create mode 100644 tests/format/substitutions.py
create mode 100644 tests/format/userconfig.py
create mode 100644 tests/format/variables/cyclic_variables/indirect-cyclic.bst
create mode 100644 tests/format/variables/cyclic_variables/self-reference.bst
create mode 100644 tests/format/variables/cyclic_variables/simple-cyclic.bst
delete mode 100644 tests/format/variables/defaults/cmake.bst
delete mode 100644 tests/format/variables/defaults/distutils.bst
delete mode 100644 tests/format/variables/defaults/makemaker.bst
delete mode 100644 tests/format/variables/defaults/modulebuild.bst
delete mode 100644 tests/format/variables/defaults/qmake.bst
create mode 100644 tests/format/variables/missing_variables/manual3.bst
delete mode 100644 tests/format/variables/overrides/cmake.bst
delete mode 100644 tests/format/variables/overrides/distutils.bst
delete mode 100644 tests/format/variables/overrides/makemaker.bst
delete mode 100644 tests/format/variables/overrides/modulebuild.bst
delete mode 100644 tests/format/variables/overrides/qmake.bst
rename tests/format/{junctions/toplevel => variables/partial_context}/base.bst (100%)
create mode 100644 tests/format/variables/partial_context/base/project.conf
create mode 100644 tests/format/variables/partial_context/base/vars.yml
create mode 100644 tests/format/variables/partial_context/project.conf
create mode 100644 tests/format/variables/partial_context/test.bst
create mode 100644 tests/format/variables/public_data_variables/project.conf
create mode 100644 tests/format/variables/public_data_variables/public.bst
create mode 100644 tests/format/variables/public_data_variables/public_unresolved.bst
create mode 100644 tests/format/variables/shared_variables/one.bst
create mode 100644 tests/format/variables/shared_variables/project.conf
create mode 100644 tests/format/variables/shared_variables/shared.yml
create mode 100644 tests/format/variables/shared_variables/two.bst
delete mode 100644 tests/frontend/buildtrack.py
copy tests/frontend/{project_world/elements/import-dev.bst => default-target/elements/dummy_1.bst} (100%)
rename tests/frontend/{project_world/elements/import-bin.bst => default-target/elements/dummy_2.bst} (100%)
copy tests/frontend/{project_world/elements/import-dev.bst => default-target/elements/dummy_3.bst} (100%)
create mode 100644 tests/frontend/default-target/elements/dummy_stack.bst
rename tests/frontend/{project_world/elements/import-dev.bst => default-target/files/sub-project/elements/dummy_subproject.bst} (100%)
create mode 100644 tests/frontend/default-target/files/sub-project/project.conf
create mode 100644 tests/frontend/default-target/project.conf
create mode 100644 tests/frontend/default_target.py
create mode 100644 tests/frontend/interactive_init.py
create mode 100644 tests/frontend/large_directory.py
create mode 100644 tests/frontend/logging/elements/bar.bst
create mode 100644 tests/frontend/logging/elements/foo.bst
create mode 100644 tests/frontend/logging/elements/logtest.bst
rename tests/{internals/pluginloading/customelement/pluginelements/__init__.py => frontend/logging/files/bar} (100%)
rename tests/{format/junctions/inconsistent-names => frontend/logging}/files/foo (100%)
create mode 100644 tests/frontend/logging/plugins/logtest.py
create mode 100644 tests/frontend/logging/project.conf
create mode 100644 tests/frontend/overlaps/directory-file.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => frontend/overlaps/directory-file/directory-file} (100%)
create mode 100644 tests/frontend/overlaps/multistage-overlap-error.bst
create mode 100644 tests/frontend/overlaps/multistage-overlap-ignore.bst
create mode 100644 tests/frontend/overlaps/multistage-overlap.bst
create mode 100644 tests/frontend/overlaps/plugins/overlap.py
create mode 100644 tests/frontend/overlaps/relocated-unstaged.bst
create mode 100644 tests/frontend/overlaps/relocated.bst
create mode 100644 tests/frontend/overlaps/subdir-a.bst
create mode 100644 tests/frontend/overlaps/unstaged.bst
create mode 100644 tests/frontend/overlaps/whitelist-undefined.bst
create mode 100644 tests/frontend/overlaps/with-directory.bst
copy tests/{sources/git/template/subrepofiles/ponyfile.txt => frontend/overlaps/with-directory/directory-file/file} (100%)
create mode 100644 tests/frontend/progress.py
create mode 100644 tests/frontend/project/elements/format-deps.bst
create mode 100644 tests/frontend/project/elements/import-large-directory.bst
create mode 100644 tests/frontend/project/elements/random.bst
delete mode 120000 tests/frontend/project/files/files-and-links/basicfolder/basicsymlink
create mode 100644 tests/frontend/project/files/sub-project/files/deps.bst
create mode 100644 tests/frontend/project/files/sub2-project/elements/import-sub.bst
rename tests/frontend/{project_world/files/sub-project => project/files/sub2-project}/files/etc-files/etc/animal.conf (100%)
create mode 100644 tests/frontend/project/files/sub2-project/project.conf
create mode 100644 tests/frontend/project/plugins/randomelement.py
delete mode 100644 tests/frontend/project_default/elements/target.bst
delete mode 100644 tests/frontend/project_default/elements/target2.bst
delete mode 100644 tests/frontend/project_default/project.conf
delete mode 100644 tests/frontend/project_world/elements/checkout-deps.bst
delete mode 100644 tests/frontend/project_world/elements/compose-exclude-dev.bst
delete mode 100644 tests/frontend/project_world/elements/compose-include-bin.bst
delete mode 100644 tests/frontend/project_world/elements/rebuild-target.bst
delete mode 100644 tests/frontend/project_world/files/sub-project/elements/import-etc.bst
delete mode 100644 tests/frontend/project_world/files/sub-project/project.conf
delete mode 100644 tests/frontend/project_world/project.conf
rename tests/frontend/{project_world => simple}/elements/compose-all.bst (100%)
copy tests/{sourcecache/project => frontend/simple}/elements/import-bin.bst (100%)
copy tests/{sourcecache/project => frontend/simple}/elements/import-dev.bst (100%)
create mode 100644 tests/frontend/simple/elements/subdir/target.bst
rename tests/frontend/{project_world => simple}/elements/target.bst (100%)
copy tests/{sourcecache/project => frontend/simple}/files/bin-files/usr/bin/hello (100%)
copy tests/{sourcecache/project => frontend/simple}/files/dev-files/usr/include/pony.h (100%)
create mode 100644 tests/frontend/simple/project.conf
create mode 100644 tests/frontend/source-fetch/apples.bst
create mode 100644 tests/frontend/source-fetch/bananas.bst
create mode 100644 tests/frontend/source-fetch/files/apples
create mode 100644 tests/frontend/source-fetch/files/bananas
create mode 100644 tests/frontend/source-fetch/files/oranges
create mode 100644 tests/frontend/source-fetch/oranges.bst
create mode 100644 tests/frontend/source-track/apples.bst
create mode 100644 tests/frontend/source-track/bananas.bst
create mode 100644 tests/frontend/source-track/comments.bst
create mode 100644 tests/frontend/source-track/files/apples
create mode 100644 tests/frontend/source-track/files/bananas
create mode 100644 tests/frontend/source-track/files/oranges
create mode 100644 tests/frontend/source-track/oranges.bst
delete mode 100644 tests/integration/cmake.py
create mode 100644 tests/integration/filter.py
create mode 100644 tests/integration/interactive_build.py
delete mode 100644 tests/integration/make.py
delete mode 100644 tests/integration/pip_element.py
delete mode 100644 tests/integration/project/elements/cmake/cmakeconfroothello.bst
delete mode 100644 tests/integration/project/elements/cmake/cmakehello.bst
create mode 100644 tests/integration/project/elements/compose/test-integration.bst
create mode 100644 tests/integration/project/elements/echo-env-var.bst
create mode 100644 tests/integration/project/elements/echo-target.bst
create mode 100644 tests/integration/project/elements/filter/filter.bst
create mode 100644 tests/integration/project/elements/filter/parent.bst
create mode 100644 tests/integration/project/elements/interactive/failed-build.bst
delete mode 100644 tests/integration/project/elements/make/makehello.bst
create mode 100644 tests/integration/project/elements/manual/import-file.bst
create mode 100644 tests/integration/project/elements/manual/manual-stage-custom.bst
delete mode 100644 tests/integration/project/elements/sandbox-bwrap/base-with-tmp.bst
delete mode 100644 tests/integration/project/elements/sandbox-bwrap/break-shell.bst
delete mode 100644 tests/integration/project/elements/sandbox-bwrap/command-exit-42.bst
delete mode 100644 tests/integration/project/elements/sandbox-bwrap/non-executable-shell.bst
delete mode 100644 tests/integration/project/elements/sandbox-bwrap/test-cleanup.bst
create mode 100644 tests/integration/project/elements/sandbox/build-arch.bst
create mode 100644 tests/integration/project/elements/sandbox/test-dev-shm.bst
delete mode 100644 tests/integration/project/files/cmakehello.tar.gz
delete mode 100644 tests/integration/project/files/makehello.tar.gz
create mode 100644 tests/integration/project/files/manual-element/root/hello
create mode 100644 tests/integration/project/files/manual-element/root/subdir/hello
create mode 100644 tests/integration/project/files/test_shm.c
create mode 100644 tests/integration/project/files/workspace-incremental/Makefile
create mode 100644 tests/integration/project/files/workspace-incremental/source
create mode 100644 tests/integration/project/files/workspace-partial/Makefile
create mode 100644 tests/integration/project/files/workspace-partial/source1
create mode 100644 tests/integration/project/files/workspace-partial/source2
delete mode 100644 tests/integration/sandbox-bwrap.py
create mode 100644 tests/integration/sandbox.py
create mode 100644 tests/internals/cascache.py
delete mode 100644 tests/internals/pluginfactory.py
delete mode 100644 tests/internals/pluginfactory/anotherelement/foo.py
delete mode 100644 tests/internals/pluginfactory/anothersource/foo.py
delete mode 100644 tests/internals/pluginfactory/badsetup/foo.py
delete mode 100644 tests/internals/pluginfactory/badversionelement/foo.py
delete mode 100644 tests/internals/pluginfactory/badversionsource/foo.py
delete mode 100644 tests/internals/pluginfactory/customelement/foo.py
delete mode 100644 tests/internals/pluginfactory/customsource/foo.py
delete mode 100644 tests/internals/pluginfactory/notatype/foo.py
delete mode 100644 tests/internals/pluginfactory/wrongtype/foo.py
delete mode 100644 tests/internals/pluginloading.py
delete mode 100644 tests/internals/pluginloading/badversionelement/customelements/foo.py
delete mode 100644 tests/internals/pluginloading/badversionelement/elements/simple.bst
delete mode 100644 tests/internals/pluginloading/badversionelement/project.conf
delete mode 100644 tests/internals/pluginloading/badversionsource/customsources/foo.py
delete mode 100644 tests/internals/pluginloading/badversionsource/elements/simple.bst
delete mode 100644 tests/internals/pluginloading/badversionsource/project.conf
delete mode 100644 tests/internals/pluginloading/customelement/elements/simple.bst
delete mode 100644 tests/internals/pluginloading/customelement/pluginelements/foo.py
delete mode 100644 tests/internals/pluginloading/customelement/project.conf
delete mode 100644 tests/internals/pluginloading/customsource/elements/simple.bst
delete mode 100644 tests/internals/pluginloading/customsource/pluginsources/foo.py
delete mode 100644 tests/internals/pluginloading/customsource/project.conf
rename tests/internals/{pluginloading/badversionsource/customsources/__init__.py => storage/empty/.gitkeep} (100%)
rename tests/internals/{pluginloading/badversionelement/customelements/__init__.py => storage/merge-add/added} (100%)
rename tests/internals/{pluginfactory/wrongtype/__init__.py => storage/merge-add/root-file} (100%)
rename tests/internals/{pluginfactory/notatype/__init__.py => storage/merge-add/subdirectory/subdir-file} (100%)
rename tests/internals/{pluginfactory/nosetup/__init__.py => storage/merge-base/root-file} (100%)
rename tests/internals/{pluginfactory/customsource/__init__.py => storage/merge-base/subdirectory/subdir-file} (100%)
rename tests/internals/{pluginfactory/customelement/__init__.py => storage/merge-buildtree/root-file} (100%)
rename tests/internals/{pluginfactory/badversionsource/__init__.py => storage/merge-buildtree/root-file.o} (100%)
rename tests/internals/{pluginfactory/badversionelement/__init__.py => storage/merge-buildtree/subdirectory/subdir-file} (100%)
rename tests/internals/{pluginfactory/badsetup/__init__.py => storage/merge-buildtree/subdirectory/subdir-file.o} (100%)
create mode 120000 tests/internals/storage/merge-link-change/link
rename tests/internals/{pluginfactory/anothersource/__init__.py => storage/merge-link-change/root-file} (100%)
create mode 120000 tests/internals/storage/merge-link-change/subdirectory/link
rename tests/internals/{pluginfactory/anotherelement/__init__.py => storage/merge-link-change/subdirectory/subdir-file} (100%)
create mode 120000 tests/internals/storage/merge-link/link
rename tests/{format/project/plugin-forbidden/forbidden-plugins/__init__.py => internals/storage/merge-link/root-file} (100%)
copy tests/{frontend/project/files/files-and-links/basicfolder => internals/storage/merge-link/subdirectory}/subdir-file (100%)
rename tests/{format/project/plugin-forbidden/__init__.py => internals/storage/merge-override-in-subdir-with-directory/root-file} (100%)
rename tests/{format/project/plugin-allowed/plugins/__init__.py => internals/storage/merge-override-in-subdir-with-directory/root-file.o} (100%)
copy tests/{frontend/project/files/files-and-links/basicfolder => internals/storage/merge-override-in-subdir-with-directory/subdirectory}/subdir-file (100%)
rename tests/{format/project/plugin-allowed/__init__.py => internals/storage/merge-override-in-subdir-with-directory/subdirectory/subdir-file.o/test} (100%)
rename tests/{format/junctions/inconsistent-names/junctionA/junctionB/files/lib2 => internals/storage/merge-override-in-subdir-with-file/root-file} (100%)
copy tests/{sources/bzr/basic/test => internals/storage/merge-override-in-subdir-with-file/root-file.o} (100%)
copy tests/{frontend/project/files/files-and-links/basicfolder => internals/storage/merge-override-in-subdir-with-file/subdirectory}/subdir-file (100%)
rename tests/{format/junctions/inconsistent-names/junctionA/junctionB/base/baseimg => internals/storage/merge-override-in-subdir-with-file/subdirectory/subdir-file.o} (100%)
rename tests/{format/junctions/inconsistent-names/junctionA/files/lib => internals/storage/merge-override-subdirectory/root-file} (100%)
rename tests/{format/junctions/inconsistent-names/junctionA/files/app => internals/storage/merge-override-subdirectory/root-file.o} (100%)
rename tests/{cachekey/project/.bst/workspaces.yml => internals/storage/merge-override-subdirectory/subdirectory} (100%)
rename tests/{artifactcache/junctions/parent/.bst/workspaces.yml => internals/storage/merge-override-with-directory/root-file} (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-override-with-directory/root-file.o/test} (100%)
copy tests/{frontend/project/files/files-and-links/basicfolder => internals/storage/merge-override-with-directory/subdirectory}/subdir-file (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-override-with-directory/subdirectory/subdir-file.o} (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-override-with-file/root-file} (100%)
copy tests/{sources/bzr/basic/test => internals/storage/merge-override-with-file/root-file.o} (100%)
copy tests/{frontend/project/files/files-and-links/basicfolder => internals/storage/merge-override-with-file/subdirectory}/subdir-file (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-override-with-file/subdirectory/subdir-file.o} (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-override-with-new-subdirectory/root-file} (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-override-with-new-subdirectory/subdirectory} (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-properties/root-file} (100%)
mode change 100644 => 100755
copy tests/{frontend/project/files/files-and-links/basicfolder => internals/storage/merge-properties/subdirectory}/subdir-file (100%)
copy tests/{frontend/project/files/files-and-links/basicfolder => internals/storage/merge-remove/subdirectory}/subdir-file (100%)
create mode 100644 tests/internals/storage/merge-replace/root-file
copy tests/{frontend/project/files/files-and-links/basicfolder => internals/storage/merge-replace/subdirectory}/subdir-file (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-subdirectory-add/root-file} (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-subdirectory-add/subdirectory/added} (100%)
create mode 100644 tests/internals/storage/merge-subdirectory-add/subdirectory/subdir-file
copy tests/{testutils/repo/__init__.py => internals/storage/merge-subdirectory-link/root-file} (100%)
create mode 120000 tests/internals/storage/merge-subdirectory-link/subdirectory/link
copy tests/{frontend/project/files/files-and-links/basicfolder => internals/storage/merge-subdirectory-link/subdirectory}/subdir-file (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-subdirectory-remove/root-file} (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-subdirectory-remove/subdirectory/.gitkeep} (100%)
copy tests/{testutils/repo/__init__.py => internals/storage/merge-subdirectory-replace/root-file} (100%)
create mode 100644 tests/internals/storage/merge-subdirectory-replace/subdirectory/subdir-file
delete mode 100644 tests/plugins/deprecationwarnings/deprecationwarnings.py
delete mode 100644 tests/plugins/deprecationwarnings/project/elements/deprecated.bst
delete mode 100644 tests/plugins/deprecationwarnings/project/plugins/elements/deprecated_plugin.py
delete mode 100644 tests/plugins/deprecationwarnings/project/plugins/elements/deprecated_plugin.yaml
delete mode 100644 tests/plugins/deprecationwarnings/project/project.conf
create mode 100644 tests/plugins/loading.py
rename tests/{format/junctions/config-target/elements/subproject.bst => plugins/loading/elements/subproject-junction.bst} (100%)
create mode 100644 tests/plugins/loading/plugins/elements/deprecated/deprecated.py
create mode 100644 tests/plugins/loading/plugins/elements/found/found.py
create mode 100644 tests/plugins/loading/plugins/elements/incompatiblemajor/incompatiblemajor.py
create mode 100644 tests/plugins/loading/plugins/elements/incompatibleminor/incompatibleminor.py
create mode 100644 tests/plugins/loading/plugins/elements/malformedminversion/badstring.py
create mode 100644 tests/plugins/loading/plugins/elements/malformedminversion/dict.py
create mode 100644 tests/plugins/loading/plugins/elements/malformedminversion/list.py
create mode 100644 tests/plugins/loading/plugins/elements/malformedminversion/number.py
create mode 100644 tests/plugins/loading/plugins/elements/nominversion/nominversion.py
rename tests/{internals/pluginfactory/nosetup/foo.py => plugins/loading/plugins/nosetup/nosetup.py} (100%)
create mode 100644 tests/plugins/loading/plugins/setupnotfunction/setupnotfunction.py
create mode 100644 tests/plugins/loading/plugins/setupreturnsbadtype/setupreturnsbadtype.py
create mode 100644 tests/plugins/loading/plugins/setupreturnsnottype/setupreturnsnottype.py
create mode 100644 tests/plugins/loading/plugins/sources/deprecated/deprecated.py
create mode 100644 tests/plugins/loading/plugins/sources/found/found.py
create mode 100644 tests/plugins/loading/plugins/sources/incompatiblemajor/incompatiblemajor.py
create mode 100644 tests/plugins/loading/plugins/sources/incompatibleminor/incompatibleminor.py
create mode 100644 tests/plugins/loading/plugins/sources/malformedminversion/badstring.py
create mode 100644 tests/plugins/loading/plugins/sources/malformedminversion/dict.py
create mode 100644 tests/plugins/loading/plugins/sources/malformedminversion/list.py
create mode 100644 tests/plugins/loading/plugins/sources/malformedminversion/number.py
create mode 100644 tests/plugins/loading/plugins/sources/nominversion/nominversion.py
create mode 100644 tests/plugins/loading/project.conf
rename tests/{format/junctions/config-target => plugins/loading}/subproject/elements/subsubproject-junction.bst (100%)
create mode 100644 tests/plugins/loading/subproject/project.conf
create mode 100644 tests/plugins/loading/subproject/subsubproject/project.conf
create mode 100755 tests/plugins/sample-plugins/setup.py
copy tests/{testutils/repo => plugins/sample-plugins/src/sample_plugins}/__init__.py (100%)
copy tests/{testutils/repo => plugins/sample-plugins/src/sample_plugins/elements}/__init__.py (100%)
create mode 100644 tests/plugins/sample-plugins/src/sample_plugins/elements/sample.py
create mode 100644 tests/plugins/sample-plugins/src/sample_plugins/elements/sample.yaml
copy tests/{testutils/repo => plugins/sample-plugins/src/sample_plugins/sources}/__init__.py (100%)
create mode 100644 tests/plugins/sample-plugins/src/sample_plugins/sources/sample.py
create mode 100644 tests/remotecache/project/elements/autotools/amhello.bst
copy tests/{sources => remotecache}/project/elements/base.bst (100%)
copy tests/{sources => remotecache}/project/elements/base/base-alpine.bst (100%)
copy tests/{remoteexecution => remotecache}/project/elements/build-shell/buildtree-fail.bst (100%)
copy tests/{remoteexecution => remotecache}/project/elements/build-shell/buildtree.bst (100%)
copy tests/{remoteexecution => remotecache}/project/elements/no-runtime-deps.bst (100%)
copy tests/{remoteexecution/project/files/sub-project => remotecache/project}/files/amhello.tar.gz (100%)
copy tests/{sourcecache => remotecache}/project/files/dev-files/usr/include/pony.h (100%)
create mode 100644 tests/remotecache/project/project.conf
create mode 100644 tests/remotecache/simple.py
create mode 100644 tests/remoteexecution/workspace.py
delete mode 100644 tests/sandboxes/fallback.py
delete mode 100644 tests/sandboxes/mounting/mount_simple.py
create mode 100644 tests/sourcecache/capabilities.py
delete mode 100644 tests/sources/deb.py
delete mode 100644 tests/sources/deb/a_deb.deb
delete mode 100644 tests/sources/deb/explicit-basedir/content/share/doc/lua-clod/changelog.Debian.gz
delete mode 120000 tests/sources/deb/explicit-basedir/content/share/lua/5.2/clod.lua
delete mode 100644 tests/sources/deb/explicit-basedir/target.bst
delete mode 100644 tests/sources/deb/fetch/content/usr/share/doc/lua-clod/changelog.Debian.gz
delete mode 120000 tests/sources/deb/fetch/content/usr/share/lua/5.2/clod.lua
delete mode 100644 tests/sources/deb/fetch/target-lz.bst
delete mode 100644 tests/sources/deb/fetch/target.bst
delete mode 100644 tests/sources/deb/no-basedir/content/usr/share/doc/lua-clod/changelog.Debian.gz
delete mode 120000 tests/sources/deb/no-basedir/content/usr/share/lua/5.2/clod.lua
delete mode 100644 tests/sources/deb/no-basedir/target.bst
delete mode 100644 tests/sources/deb/no-ref/a/b/d
delete mode 100644 tests/sources/deb/no-ref/a/c
delete mode 100644 tests/sources/deb/no-ref/target.bst
delete mode 100644 tests/sources/ostree/template/project.conf
create mode 100644 tests/sources/tar/read-only/content/c.tar.gz
create mode 100644 tests/sources/variables.py
copy tests/sources/{patch/multiple-patches => variables/folder}/file.txt (100%)
create mode 100644 tests/sources/variables/project.conf
create mode 100644 tests/sources/variables/target.bst
create mode 100644 tests/sources/variables/unresolveable-target.bst
create mode 100644 tests/testutils/constants.py
[buildstream] 01/01: fixup! ci: Replace docker CLI monstrosity with
Compose
Posted by ch...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
chandan pushed a commit to branch chandan/test
in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit eae7bd35be3d98ebf42e1025579ffc7029bc061d
Author: Chandan Singh <ch...@chandansingh.net>
AuthorDate: Thu Jan 14 23:46:30 2021 +0000
fixup! ci: Replace docker CLI monstrosity with Compose
---
.github/compose/ci.docker-compose.yml | 4 ++++
.github/workflows/ci.yml | 37 +----------------------------------
2 files changed, 5 insertions(+), 36 deletions(-)
diff --git a/.github/compose/ci.docker-compose.yml b/.github/compose/ci.docker-compose.yml
index 9ef9477..8c5ef8b 100644
--- a/.github/compose/ci.docker-compose.yml
+++ b/.github/compose/ci.docker-compose.yml
@@ -35,6 +35,10 @@ services:
<<: *tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-centos:7.7.1908-${CI_IMAGE_VERSION:-latest}
+ fedora-missing-deps:
+ <<: *tests-template
+ image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:minimal-${CI_IMAGE_VERSION:-latest}
+
no-usedevelop:
<<: *tests-template
environment:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 8ea51bf..f770df5 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -33,20 +33,13 @@ on:
# - standardize WSL tasks by using GitHub-provided runners
env:
- CI_IMAGE_VERSION: master-240510553
+ CI_IMAGE_VERSION: master-241289109
jobs:
tests:
runs-on: ubuntu-20.04
continue-on-error: ${{ matrix.allow-failure || false }}
- env:
- CI_IMAGE_PREFIX: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite
- CI_IMAGE_SUFFIX: master-177137613
- TOXENV: py36,py37,py38-nocover,py36-plugins,py37-plugins,py38-plugins-nocover
- # FIXME: De-duplicate against tox.ini
- BST_PLUGINS_EXPERIMENTAL_VERSION: 1.93.4
-
strategy:
fail-fast: false
matrix:
@@ -87,8 +80,6 @@ jobs:
docs:
runs-on: ubuntu-20.04
- env:
- BST_FORCE_SESSION_REBUILD: 1
steps:
- name: Check out repository
uses: actions/checkout@v2
@@ -111,29 +102,3 @@ jobs:
with:
name: docs
path: doc/build/html
-
- # TODO: Consolidate with rest of the Docker Compose setup.
- # Providing a base image with the dependencies not added in the first place
- # should make that simpler.
- tests-fedora-missing-deps:
- runs-on: ubuntu-20.04
- container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-master-177137613
- steps:
- - name: Check out repository
- uses: actions/checkout@v2
- # BuildStream requires tags to be able to find its version.
- with:
- fetch-depth: 0
- - name: Uninstall Bubblewrap and OSTree
- # We remove the Bubblewrap and OSTree packages here so that we catch any
- # codepaths that try to use them. Removing OSTree causes fuse-libs to
- # disappear unless we mark it as user-installed.
- run: |
- dnf mark install fuse-libs systemd-udev
- dnf erase -y bubblewrap ostree
- - name: Add test user
- run: |
- useradd -Um buildstream
- chown -R buildstream:buildstream .
- - name: Run tests
- run: su buildstream -c "tox -- $PYTEST_ARGS"