Skip the noop Soong dep edge for api_domain and contributions

This allows us to skip the current visibility checks of certain
systemapi libraries like libsigchain. Instead of adding
`//build/orchestrator/apis` to the visibility of these libraries and
removing it later when the api_domains are collocated with their
contributions, drop the dependency edge creation for now

The dep edge will continue to exist in the generated Bazel workspace

Test: m nothing
Change-Id: If0d24d0cba85dc96dea3276a1ec0f8fa51adb379
This commit is contained in:
Spandan Das 2022-10-08 04:29:37 +00:00
parent 934977cbbe
commit eb6b90747c

View file

@ -70,13 +70,11 @@ func ApiDomainFactory() Module {
return m
}
// Do not create any dependency edges in Soong for now to skip visibility checks for some systemapi libraries.
// Currently, all api_domain modules reside in build/orchestrator/apis/Android.bp
// However, cc libraries like libsigchain (com.android.art) restrict their visibility to art/*
// When the api_domain module types are collocated with their contributions, this dependency edge can be restored
func (a *apiDomain) DepsMutator(ctx BottomUpMutatorContext) {
for _, cc := range a.properties.Cc_api_contributions {
// Use FarVariationDependencies since the variants of api_domain is a subset of the variants of the dependency cc module
// Creating a dependency on the first variant that matches (os,arch) is ok since this is a no-op in Soong
// The primary function of this dependency is to create a connected graph in the corresponding bp2build workspace
ctx.AddFarVariationDependencies(ctx.Target().Variations(), nil, cc)
}
}
// API domain does not have any builld actions yet