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

Commit eddd3c0b authored by Sam Delmerico's avatar Sam Delmerico
Browse files

add APEX transitive dependency validation

Bug: 218419109
Test: b build //packages/modules/adb/apex:com.android.adbd
Change-Id: I93b0c99d6521e419e52c63271646448f6d708c22
parent b545f49f
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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,
+1 −1
Original line number Diff line number Diff line
@@ -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
+6 −1
Original line number Diff line number Diff line
@@ -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
+6 −1
Original line number Diff line number Diff line
@@ -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) {
+3 −1
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@ func protoFlags(ctx ModuleContext, flags Flags, p *android.ProtoProperties) Flag

type protoAttributes struct {
	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)
Loading