test
diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py index 6c4b2d9..72bc9f5 100644 --- a/src/buildstream/_stream.py +++ b/src/buildstream/_stream.py
@@ -176,11 +176,22 @@ # Enqueue complete build plan as this is required to determine `buildable` status. plan = list(self._pipeline.dependencies(elements, _Scope.ALL)) - self._scheduler.clear_queues() - self._add_queue(CacheQueryQueue(self._scheduler, sources=sources), track=True) - self._enqueue_plan(plan) - self._run() - self._scheduler.clear_queues() + for element in plan: + if not sources and element._get_cache_key(strength=_KeyStrength.WEAK): + element._load_artifact(pull=False) + if not element._can_query_cache() or not element._cached_success(): + element._query_source_cache() + if not element._pull_pending(): + element._load_artifact_done() + else: + element._query_source_cache() + + if False: + self._scheduler.clear_queues() + self._add_queue(CacheQueryQueue(self._scheduler, sources=sources), track=True) + self._enqueue_plan(plan) + self._run() + self._scheduler.clear_queues() # shell() #