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.requireHeaderSymlinkTreeto create the header symlink tree BuildRule - let
SwiftLibraryDescriptiondepends 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!