Generate a ndk_sysroot target in bp2build
This target will have a dependency edge to every bp2build equivalent of Soong's ndk_headers. In b builds, sdk variants will compile against this aggregated CcInfo providing target A non monolithic alternative was discarded after conversations in b/300504837#comment1-5 Contents of bp2build generated target: https://paste.googleplex.com/6643820291686400 Implementation details - Since there is no equivalent Soong module for ndk_sysroot, hardcode bp2build/build_conversion.go to collect all ndk_headers soong modules. Add them to `deps` of a ndk_sysroot target - Create `ndk_sysroot` in build/bazel/rules/cc/BUILD.bazel. This is expected to be a temporary location. This will use the cc_library_headers macro - Update SetStubsForDynamicDeps so that sdk variant of rdeps depends on //build/bazel/rules/cc:ndk_sysroot. This will provide a CcInfo during compilation. Since ndk_sysroot is of type cc_library_headers, it will not get packaged into the apk. - Refactor `goBazelTarget` to a generic `bTarget` so that it is representative of the expanded usage by ndk_sysroot Test: b build //build/bazel/examples/android_app/java/com/app:app_with_sdk_variant_of_jni_deps --config=android (with aosp/2755284) Bug: 300504837 Change-Id: Ifa427dd78115703ab251b0e1a0b71d3f19e91008
Loading
Please register or sign in to comment