Build skipped when element has duplicate build dependencies.
Summary
When there are duplicate build dependencies (through either depends or build-depends) for any element kind, its build is skipped.
Steps to reproduce
Create the following files:
./test.bst
kind: import
sources:
- kind: local
path: project.conf
./multi-build-depends.bst
kind: <import, stack, compose ...>
sources:
- kind: local
path: project.conf
<depends, build-depends> :
- test.bst
- test.bst
and run bst build multi-build-depends.bst
What is the current bug behavior?
Build succeeds without building anything, as it skips multi-build-depends.bst.
Running bst build multi-build-depends.bst multiple times yields:
Pipeline
cached a3f09bb29fee71f1e2d39e81c4a178fac764514648daf80b1e4c60a4cea54201 test.bst
waiting b205458bc8a64e031f76e1bf3003e5fdaa019908ad82cc1909e02787d8e7d9fe dependencies.bst
===============================================================================
[00:00:00][ ][ main:core activity ] SUCCESS Build
Pipeline Summary
Total: 2
Session: 1
Fetch Queue: processed 0, skipped 1, failed 0
Build Queue: processed 0, skipped 0, failed 0
Additionally if a duplicate build-dependency does not exist, and the element is successfully built, but then a duplicate build-dependency is then added, BuildStream does not complain as it sees the element as cached.
What is the expected correct behavior?
Either
- BuildStream throws an error warning users that there are duplicate build-dependencies
- Build is not skipped and BuildStream appropriately deals with duplicate build-dependencies.
/label ~bug
Edited by Shashwat Dalal