Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea9a510c authored by Spandan Das's avatar Spandan Das Committed by Gerrit Code Review
Browse files

Merge "Fix bp2build's stub/impl selection logic for platform variants" into main

parents 1b365e35 f7bae9ab
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -2867,7 +2867,6 @@ cc_library {
		ExpectedBazelTargets: makeCcLibraryTargets("foolib", AttrNameToString{
			"implementation_dynamic_deps": `select({
        "//build/bazel/rules/apex:foo": ["@api_surfaces//module-libapi/current:barlib"],
        "//build/bazel/rules/apex:system": ["@api_surfaces//module-libapi/current:barlib"],
        "//conditions:default": [":barlib"],
    })`,
			"local_includes": `["."]`,
@@ -2925,10 +2924,6 @@ cc_library {
            "@api_surfaces//module-libapi/current:barlib",
            "@api_surfaces//module-libapi/current:quxlib",
        ],
        "//build/bazel/rules/apex:system": [
            "@api_surfaces//module-libapi/current:barlib",
            "@api_surfaces//module-libapi/current:quxlib",
        ],
        "//conditions:default": [
            ":barlib",
            ":quxlib",
+1 −1
Original line number Diff line number Diff line
@@ -661,7 +661,7 @@ cc_library_shared {
            ":libapexfoo_stable",
        ],
        "//build/bazel/rules/apex:system": [
            "@api_surfaces//module-libapi/current:libplatform_stable",
            ":libplatform_stable",
            "@api_surfaces//module-libapi/current:libapexfoo_stable",
        ],
        "//conditions:default": [
+5 −0
Original line number Diff line number Diff line
@@ -1624,6 +1624,11 @@ func setStubsForDynamicDeps(ctx android.BazelConversionPathContext, axis bazel.C
				if linkable, ok := ctx.Module().(LinkableInterface); ok && linkable.Bootstrap() {
					sameApiDomain = true
				}
				// If dependency has `apex_available: ["//apex_available:platform]`, then the platform variant of rdep should link against its impl.
				// https://cs.android.com/android/_/android/platform/build/soong/+/main:cc/cc.go;l=3617;bpv=1;bpt=0;drc=c6a93d853b37ec90786e745b8d282145e6d3b589
				if depApexAvailable := dep.(*Module).ApexAvailable(); len(depApexAvailable) == 1 && depApexAvailable[0] == android.AvailableToPlatform {
					sameApiDomain = true
				}
			} else {
				sameApiDomain = android.InList(apiDomain, dep.(*Module).ApexAvailable())
			}