Create aliases for stubs in build/bazel/api_surfaces
- Create the alias under the module-libapi directory. This is the api_surface that cc_stubs_suite maps to. - Create the alias only for "current" (atleast for now) - Create one alias for the stub shared lib, and another for its headers Test: b build @api_surfaces//... (with aosp/2475091) Change-Id: Ib004c2c34256f971e74d75317fa5fbbe7273720e
This commit is contained in:
parent
abedff0ca7
commit
9e93d3d6e1
2 changed files with 26 additions and 0 deletions
|
@ -1837,3 +1837,14 @@ func (c *config) LogMixedBuild(ctx BaseModuleContext, useBazel bool) {
|
|||
c.mixedBuildDisabledModules[moduleName] = struct{}{}
|
||||
}
|
||||
}
|
||||
|
||||
// ApiSurfaces directory returns the source path inside the api_surfaces repo
|
||||
// (relative to workspace root).
|
||||
func (c *config) ApiSurfacesDir(s ApiSurface, version string) string {
|
||||
return filepath.Join(
|
||||
"build",
|
||||
"bazel",
|
||||
"api_surfaces",
|
||||
s.String(),
|
||||
version)
|
||||
}
|
||||
|
|
|
@ -464,6 +464,21 @@ func createStubsBazelTargetIfNeeded(ctx android.TopDownMutatorContext, m *Module
|
|||
ctx.CreateBazelTargetModule(stubSuitesProps,
|
||||
android.CommonAttributes{Name: m.Name() + "_stub_libs"},
|
||||
stubSuitesAttrs)
|
||||
|
||||
// Add alias for the stub shared_library in @api_surfaces repository
|
||||
currentModuleLibApiDir := ctx.Config().ApiSurfacesDir(android.ModuleLibApi, "current")
|
||||
actualLabelInMainWorkspace := bazel.Label{
|
||||
Label: fmt.Sprintf("@//%s:%s_stub_libs_current", ctx.ModuleDir(), m.Name()),
|
||||
}
|
||||
ctx.CreateBazelTargetAliasInDir(currentModuleLibApiDir, m.Name(), actualLabelInMainWorkspace)
|
||||
|
||||
// Add alias for headers exported by the stub library
|
||||
headerLabelInMainWorkspace := bazel.Label{
|
||||
// This label is generated from cc_stub_suite macro
|
||||
Label: fmt.Sprintf("@//%s:%s_stub_libs_%s_headers", ctx.ModuleDir(), m.Name(), android.ModuleLibApi.String()),
|
||||
}
|
||||
headerAlias := m.Name() + "_headers"
|
||||
ctx.CreateBazelTargetAliasInDir(currentModuleLibApiDir, headerAlias, headerLabelInMainWorkspace)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue