Convert sabi to TransitionMutator
The sabi mutator walks static dependencies of native libraries with ABI stability guarantees (LLNDK, APEX, or cross-partition) and sets a flag that causes the modules to generate additional rules to extract the ABI from each source/object pair, combine them, and add a rule that diffs them against the checked in version. In order to remove top down mutators that mutate dependencies, convert it to a transition mutator. This may cause the same static library code to be compiled identically twice with and without the configuration, but there are relatively few static libraries that are dependencies of stable ABI libraries. If the cost of compiling these static libraries becomes too high this can be replaced with something like Bazel aspects, where the stable ABI library visits its static dependencies and adds extra rules to generate the sabi dumps. Bug: 367784740 Test: TestSabi Flag: EXEMPT refactor Change-Id: Ie6bd44680afdca15b09ba0b64ed0df9964a936a6
Loading
Please register or sign in to comment