Created by: zayhero-zz
In PR https://github.com/facebook/buck/pull/1164, we introduce the logic to allow SwiftCompile
use the header maps to built bridging headers.
However, we encounter race condition issue when we building with this logic.
The headers maps, is generated by CxxLibraryDescription
, and SwiftCompile
step is generated by SwiftLibraryDescription
. These two build rules are running in parallel, so its not guarantee that header maps are ready when we running SwiftCpmile
.
To fix this issue, I am making changes to:
- call
CxxDescriptionEnhancer.requireHeaderSymlinkTree
to create the header symlink tree BuildRule - let
SwiftLibraryDescription
depends on the symlink tree BuildRule, also make changes to not filter out BuildRules if its building for headers
@ryu2 could you help to take a look on this? Thanks!