abderrahim opened a new issue, #1893: URL: https://github.com/apache/buildstream/issues/1893
Let's consider this example. Element A.bst build-depends on two unrelated elements B.bst and C.bst. Now if I add a runtime-depends on C.bst to B.bst, the cache keys don't change. B's cache key doesn't take into account runtime dependencies, and A's cache key only takes into account the list of build dependencies, which hasn't changed (it's still B and C, plus whatever runtime dependencies they had). The issue here is that A does have access to the dependency graph, not only the list of dependencies. So `self.dependencies(recurse=False)` would return B and C, and calling `dependencies()` on B will reveal the new dependency. Most plugins don't go looking into the dependency graph, but for those that do this leads to the same cache key (and the element not getting rebuilt) even though the result would be different. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
