add APEX transitive dependency validation
Bug: 218419109 Test: b build //packages/modules/adb/apex:com.android.adbd Change-Id: I93b0c99d6521e419e52c63271646448f6d708c22
This commit is contained in:
parent
b545f49f06
commit
eddd3c0ba4
7 changed files with 32 additions and 8 deletions
|
@ -234,10 +234,13 @@ func Bp2buildProtoProperties(ctx Bp2buildMutatorContext, m *ModuleBase, srcs baz
|
|||
}
|
||||
}
|
||||
|
||||
tags := ApexAvailableTags(ctx.Module())
|
||||
|
||||
ctx.CreateBazelTargetModule(
|
||||
bazel.BazelTargetModuleProperties{Rule_class: "proto_library"},
|
||||
CommonAttributes{Name: info.Name},
|
||||
&attrs)
|
||||
CommonAttributes{Name: info.Name, Tags: tags},
|
||||
&attrs,
|
||||
)
|
||||
|
||||
protoLibraries.Add(&bazel.Label{
|
||||
Label: ":" + info.Name,
|
||||
|
|
|
@ -227,7 +227,7 @@ func (g getApexInfoType) Name() string {
|
|||
// - The function body should not be indented outside of its own scope.
|
||||
func (g getApexInfoType) StarlarkFunctionBody() string {
|
||||
return `
|
||||
info = providers(target).get("//build/bazel/rules/apex:apex.bzl%ApexInfo")
|
||||
info = providers(target).get("//build/bazel/rules/apex:apex_info.bzl%ApexInfo")
|
||||
if not info:
|
||||
fail("%s did not provide ApexInfo" % id_string)
|
||||
bundle_key_info = info.bundle_key_info
|
||||
|
|
|
@ -145,7 +145,12 @@ func libraryHeadersBp2Build(ctx android.TopDownMutatorContext, module *Module) {
|
|||
Bzl_load_location: "//build/bazel/rules/cc:cc_library_headers.bzl",
|
||||
}
|
||||
|
||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: module.Name()}, attrs)
|
||||
tags := android.ApexAvailableTags(module)
|
||||
|
||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{
|
||||
Name: module.Name(),
|
||||
Tags: tags,
|
||||
}, attrs)
|
||||
}
|
||||
|
||||
// Append .contribution suffix to input labels
|
||||
|
|
|
@ -208,7 +208,12 @@ func objectBp2Build(ctx android.TopDownMutatorContext, m *Module) {
|
|||
Bzl_load_location: "//build/bazel/rules/cc:cc_object.bzl",
|
||||
}
|
||||
|
||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: m.Name()}, attrs)
|
||||
tags := android.ApexAvailableTags(m)
|
||||
|
||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{
|
||||
Name: m.Name(),
|
||||
Tags: tags,
|
||||
}, attrs)
|
||||
}
|
||||
|
||||
func (object *objectLinker) appendLdflags(flags []string) {
|
||||
|
|
|
@ -165,7 +165,8 @@ func protoFlags(ctx ModuleContext, flags Flags, p *android.ProtoProperties) Flag
|
|||
}
|
||||
|
||||
type protoAttributes struct {
|
||||
Deps bazel.LabelListAttribute
|
||||
Deps bazel.LabelListAttribute
|
||||
Min_sdk_version *string
|
||||
}
|
||||
|
||||
type bp2buildProtoDeps struct {
|
||||
|
@ -203,6 +204,7 @@ func bp2buildProto(ctx android.Bp2buildMutatorContext, m *Module, protoSrcs baze
|
|||
|
||||
var protoAttrs protoAttributes
|
||||
protoAttrs.Deps.SetValue(protoInfo.Proto_libs)
|
||||
protoAttrs.Min_sdk_version = m.Properties.Min_sdk_version
|
||||
|
||||
name := m.Name() + suffix
|
||||
tags := android.ApexAvailableTags(m)
|
||||
|
|
|
@ -940,6 +940,8 @@ func (m *Module) ConvertWithBp2build(ctx android.TopDownMutatorContext) {
|
|||
}
|
||||
}
|
||||
|
||||
tags := android.ApexAvailableTags(m)
|
||||
|
||||
if ctx.ModuleType() == "gensrcs" {
|
||||
// The Output_extension prop is not in an immediately accessible field
|
||||
// in the Module struct, so use GetProperties and cast it
|
||||
|
@ -961,7 +963,10 @@ func (m *Module) ConvertWithBp2build(ctx android.TopDownMutatorContext) {
|
|||
Cmd: cmd,
|
||||
Tools: tools,
|
||||
}
|
||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: m.Name()}, attrs)
|
||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{
|
||||
Name: m.Name(),
|
||||
Tags: tags,
|
||||
}, attrs)
|
||||
} else {
|
||||
// The Out prop is not in an immediately accessible field
|
||||
// in the Module struct, so use GetProperties and cast it
|
||||
|
@ -982,7 +987,10 @@ func (m *Module) ConvertWithBp2build(ctx android.TopDownMutatorContext) {
|
|||
props := bazel.BazelTargetModuleProperties{
|
||||
Rule_class: "genrule",
|
||||
}
|
||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: m.Name()}, attrs)
|
||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{
|
||||
Name: m.Name(),
|
||||
Tags: tags,
|
||||
}, attrs)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -119,6 +119,7 @@ function create_mock_bazel {
|
|||
copy_directory build/bazel
|
||||
copy_directory build/bazel_common_rules
|
||||
|
||||
symlink_directory packages/modules/common/build
|
||||
symlink_directory prebuilts/bazel
|
||||
symlink_directory prebuilts/clang
|
||||
symlink_directory prebuilts/jdk
|
||||
|
|
Loading…
Reference in a new issue