Merge "Convert apex_available (for supported modules) to bazel tags."
This commit is contained in:
@@ -705,6 +705,28 @@ func (t *topDownMutatorContext) CreateBazelTargetModuleWithRestrictions(
|
|||||||
t.createBazelTargetModule(bazelProps, commonAttrs, attrs, enabledProperty)
|
t.createBazelTargetModule(bazelProps, commonAttrs, attrs, enabledProperty)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ApexAvailableTags converts the apex_available property value of an ApexModule
|
||||||
|
// module and returns it as a list of keyed tags.
|
||||||
|
func ApexAvailableTags(mod Module) bazel.StringListAttribute {
|
||||||
|
attr := bazel.StringListAttribute{}
|
||||||
|
tags := []string{}
|
||||||
|
// Transform specific attributes into tags.
|
||||||
|
if am, ok := mod.(ApexModule); ok {
|
||||||
|
// TODO(b/218841706): hidl_interface has the apex_available prop, but it's
|
||||||
|
// defined directly as a prop and not via ApexModule, so this doesn't
|
||||||
|
// pick those props up.
|
||||||
|
// TODO(b/260694842): This does not pick up aidl_interface.backend.ndk.apex_available.
|
||||||
|
for _, a := range am.apexModuleBase().ApexAvailable() {
|
||||||
|
tags = append(tags, "apex_available="+a)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(tags) > 0 {
|
||||||
|
// This avoids creating a tags attr with an empty list if there are no tags.
|
||||||
|
attr.Value = tags
|
||||||
|
}
|
||||||
|
return attr
|
||||||
|
}
|
||||||
|
|
||||||
func (t *topDownMutatorContext) createBazelTargetModule(
|
func (t *topDownMutatorContext) createBazelTargetModule(
|
||||||
bazelProps bazel.BazelTargetModuleProperties,
|
bazelProps bazel.BazelTargetModuleProperties,
|
||||||
commonAttrs CommonAttributes,
|
commonAttrs CommonAttributes,
|
||||||
|
@@ -2676,6 +2676,10 @@ func (o *OverrideApex) ConvertWithBp2build(ctx android.TopDownMutatorContext) {
|
|||||||
}
|
}
|
||||||
attrs, props := convertWithBp2build(a, ctx)
|
attrs, props := convertWithBp2build(a, ctx)
|
||||||
|
|
||||||
|
// We just want the name, not module reference.
|
||||||
|
baseApexName := strings.TrimPrefix(baseApexModuleName, ":")
|
||||||
|
attrs.Base_apex_name = &baseApexName
|
||||||
|
|
||||||
for _, p := range o.GetProperties() {
|
for _, p := range o.GetProperties() {
|
||||||
overridableProperties, ok := p.(*overridableProperties)
|
overridableProperties, ok := p.(*overridableProperties)
|
||||||
if !ok {
|
if !ok {
|
||||||
@@ -3397,6 +3401,7 @@ type bazelApexBundleAttributes struct {
|
|||||||
Package_name *string
|
Package_name *string
|
||||||
Logging_parent *string
|
Logging_parent *string
|
||||||
Tests bazel.LabelListAttribute
|
Tests bazel.LabelListAttribute
|
||||||
|
Base_apex_name *string
|
||||||
}
|
}
|
||||||
|
|
||||||
type convertedNativeSharedLibs struct {
|
type convertedNativeSharedLibs struct {
|
||||||
|
@@ -663,6 +663,7 @@ override_apex {
|
|||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
"android_manifest": `"ApogeeAndroidManifest.xml"`,
|
"android_manifest": `"ApogeeAndroidManifest.xml"`,
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"binaries": `[
|
"binaries": `[
|
||||||
":cc_binary_1",
|
":cc_binary_1",
|
||||||
":sh_binary_2",
|
":sh_binary_2",
|
||||||
@@ -729,6 +730,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"//a/b:apex_manifest.json"`,
|
"manifest": `"//a/b:apex_manifest.json"`,
|
||||||
}),
|
}),
|
||||||
@@ -763,6 +765,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"//a/b:apogee_manifest.json"`,
|
"manifest": `"//a/b:apogee_manifest.json"`,
|
||||||
}),
|
}),
|
||||||
@@ -795,6 +798,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"apex_manifest.json"`,
|
"manifest": `"apex_manifest.json"`,
|
||||||
}),
|
}),
|
||||||
@@ -828,6 +832,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"apogee_manifest.json"`,
|
"manifest": `"apogee_manifest.json"`,
|
||||||
}),
|
}),
|
||||||
@@ -861,6 +866,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"apex_manifest.json"`,
|
"manifest": `"apex_manifest.json"`,
|
||||||
"package_name": `"com.google.android.apogee"`,
|
"package_name": `"com.google.android.apogee"`,
|
||||||
@@ -900,6 +906,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"apex_manifest.json"`,
|
"manifest": `"apex_manifest.json"`,
|
||||||
"prebuilts": `[":prebuilt_file"]`,
|
"prebuilts": `[":prebuilt_file"]`,
|
||||||
@@ -945,6 +952,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"apex_manifest.json"`,
|
"manifest": `"apex_manifest.json"`,
|
||||||
"prebuilts": `[":prebuilt_file2"]`,
|
"prebuilts": `[":prebuilt_file2"]`,
|
||||||
@@ -985,6 +993,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"apex_manifest.json"`,
|
"manifest": `"apex_manifest.json"`,
|
||||||
"prebuilts": `[]`,
|
"prebuilts": `[]`,
|
||||||
@@ -1019,6 +1028,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"apex_manifest.json"`,
|
"manifest": `"apex_manifest.json"`,
|
||||||
"logging_parent": `"foo.bar.baz"`,
|
"logging_parent": `"foo.bar.baz"`,
|
||||||
@@ -1054,6 +1064,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
"file_contexts": `"//system/sepolicy/apex:com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"apex_manifest.json"`,
|
"manifest": `"apex_manifest.json"`,
|
||||||
"logging_parent": `"foo.bar.baz.override"`,
|
"logging_parent": `"foo.bar.baz.override"`,
|
||||||
@@ -1099,6 +1110,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `":com.android.apogee-file_contexts"`,
|
"file_contexts": `":com.android.apogee-file_contexts"`,
|
||||||
"manifest": `"apogee_manifest.json"`,
|
"manifest": `"apogee_manifest.json"`,
|
||||||
}),
|
}),
|
||||||
@@ -1200,6 +1212,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `":com.android.apogee-file_contexts"`,
|
"file_contexts": `":com.android.apogee-file_contexts"`,
|
||||||
"certificate": `":com.google.android.apogee.certificate"`,
|
"certificate": `":com.google.android.apogee.certificate"`,
|
||||||
"manifest": `"apogee_manifest.json"`,
|
"manifest": `"apogee_manifest.json"`,
|
||||||
@@ -1244,6 +1257,7 @@ override_apex {
|
|||||||
`,
|
`,
|
||||||
ExpectedBazelTargets: []string{
|
ExpectedBazelTargets: []string{
|
||||||
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
MakeBazelTarget("apex", "com.google.android.apogee", AttrNameToString{
|
||||||
|
"base_apex_name": `"com.android.apogee"`,
|
||||||
"file_contexts": `":com.android.apogee-file_contexts"`,
|
"file_contexts": `":com.android.apogee-file_contexts"`,
|
||||||
"certificate_name": `"com.google.android.apogee.certificate"`,
|
"certificate_name": `"com.google.android.apogee.certificate"`,
|
||||||
"manifest": `"apogee_manifest.json"`,
|
"manifest": `"apogee_manifest.json"`,
|
||||||
|
@@ -3645,3 +3645,49 @@ func TestCcLibraryHeaderAbiChecker(t *testing.T) {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestCcLibraryApexAvailable(t *testing.T) {
|
||||||
|
runCcLibraryTestCase(t, Bp2buildTestCase{
|
||||||
|
Description: "cc_library apex_available converted to tags",
|
||||||
|
ModuleTypeUnderTest: "cc_library",
|
||||||
|
ModuleTypeUnderTestFactory: cc.LibraryFactory,
|
||||||
|
Blueprint: soongCcLibraryPreamble + `
|
||||||
|
cc_library {
|
||||||
|
name: "a",
|
||||||
|
srcs: ["a.cpp"],
|
||||||
|
apex_available: ["com.android.foo"],
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
ExpectedBazelTargets: makeCcLibraryTargets("a", AttrNameToString{
|
||||||
|
"tags": `["apex_available=com.android.foo"]`,
|
||||||
|
"srcs": `["a.cpp"]`,
|
||||||
|
"local_includes": `["."]`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestCcLibraryApexAvailableMultiple(t *testing.T) {
|
||||||
|
runCcLibraryTestCase(t, Bp2buildTestCase{
|
||||||
|
Description: "cc_library apex_available converted to multiple tags",
|
||||||
|
ModuleTypeUnderTest: "cc_library",
|
||||||
|
ModuleTypeUnderTestFactory: cc.LibraryFactory,
|
||||||
|
Blueprint: soongCcLibraryPreamble + `
|
||||||
|
cc_library {
|
||||||
|
name: "a",
|
||||||
|
srcs: ["a.cpp"],
|
||||||
|
apex_available: ["com.android.foo", "//apex_available:platform", "com.android.bar"],
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
ExpectedBazelTargets: makeCcLibraryTargets("a", AttrNameToString{
|
||||||
|
"tags": `[
|
||||||
|
"apex_available=com.android.foo",
|
||||||
|
"apex_available=//apex_available:platform",
|
||||||
|
"apex_available=com.android.bar",
|
||||||
|
]`,
|
||||||
|
"srcs": `["a.cpp"]`,
|
||||||
|
"local_includes": `["."]`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
@@ -655,11 +655,12 @@ func binaryBp2build(ctx android.TopDownMutatorContext, m *Module) {
|
|||||||
// shared with cc_test
|
// shared with cc_test
|
||||||
binaryAttrs := binaryBp2buildAttrs(ctx, m)
|
binaryAttrs := binaryBp2buildAttrs(ctx, m)
|
||||||
|
|
||||||
|
tags := android.ApexAvailableTags(m)
|
||||||
ctx.CreateBazelTargetModule(bazel.BazelTargetModuleProperties{
|
ctx.CreateBazelTargetModule(bazel.BazelTargetModuleProperties{
|
||||||
Rule_class: "cc_binary",
|
Rule_class: "cc_binary",
|
||||||
Bzl_load_location: "//build/bazel/rules/cc:cc_binary.bzl",
|
Bzl_load_location: "//build/bazel/rules/cc:cc_binary.bzl",
|
||||||
},
|
},
|
||||||
android.CommonAttributes{Name: m.Name()},
|
android.CommonAttributes{Name: m.Name(), Tags: tags},
|
||||||
&binaryAttrs)
|
&binaryAttrs)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -448,11 +448,18 @@ func libraryBp2Build(ctx android.TopDownMutatorContext, m *Module) {
|
|||||||
Bzl_load_location: "//build/bazel/rules/cc:cc_library_shared.bzl",
|
Bzl_load_location: "//build/bazel/rules/cc:cc_library_shared.bzl",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tags := android.ApexAvailableTags(m)
|
||||||
ctx.CreateBazelTargetModuleWithRestrictions(staticProps,
|
ctx.CreateBazelTargetModuleWithRestrictions(staticProps,
|
||||||
android.CommonAttributes{Name: m.Name() + "_bp2build_cc_library_static"},
|
android.CommonAttributes{
|
||||||
|
Name: m.Name() + "_bp2build_cc_library_static",
|
||||||
|
Tags: tags,
|
||||||
|
},
|
||||||
staticTargetAttrs, staticAttrs.Enabled)
|
staticTargetAttrs, staticAttrs.Enabled)
|
||||||
ctx.CreateBazelTargetModuleWithRestrictions(sharedProps,
|
ctx.CreateBazelTargetModuleWithRestrictions(sharedProps,
|
||||||
android.CommonAttributes{Name: m.Name()},
|
android.CommonAttributes{
|
||||||
|
Name: m.Name(),
|
||||||
|
Tags: tags,
|
||||||
|
},
|
||||||
sharedTargetAttrs, sharedAttrs.Enabled)
|
sharedTargetAttrs, sharedAttrs.Enabled)
|
||||||
|
|
||||||
createStubsBazelTargetIfNeeded(ctx, m, compilerAttrs, exportedIncludes, baseAttributes)
|
createStubsBazelTargetIfNeeded(ctx, m, compilerAttrs, exportedIncludes, baseAttributes)
|
||||||
@@ -2914,7 +2921,8 @@ func sharedOrStaticLibraryBp2Build(ctx android.TopDownMutatorContext, module *Mo
|
|||||||
Bzl_load_location: fmt.Sprintf("//build/bazel/rules/cc:%s.bzl", modType),
|
Bzl_load_location: fmt.Sprintf("//build/bazel/rules/cc:%s.bzl", modType),
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: module.Name()}, attrs)
|
tags := android.ApexAvailableTags(module)
|
||||||
|
ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: module.Name(), Tags: tags}, attrs)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(b/199902614): Can this be factored to share with the other Attributes?
|
// TODO(b/199902614): Can this be factored to share with the other Attributes?
|
||||||
|
@@ -388,7 +388,9 @@ func prebuiltLibraryStaticBp2Build(ctx android.TopDownMutatorContext, module *Mo
|
|||||||
if fullBuild {
|
if fullBuild {
|
||||||
name += "_bp2build_cc_library_static"
|
name += "_bp2build_cc_library_static"
|
||||||
}
|
}
|
||||||
ctx.CreateBazelTargetModuleWithRestrictions(props, android.CommonAttributes{Name: name}, attrs, prebuiltAttrs.Enabled)
|
|
||||||
|
tags := android.ApexAvailableTags(module)
|
||||||
|
ctx.CreateBazelTargetModuleWithRestrictions(props, android.CommonAttributes{Name: name, Tags: tags}, attrs, prebuiltAttrs.Enabled)
|
||||||
}
|
}
|
||||||
|
|
||||||
type bazelPrebuiltLibrarySharedAttributes struct {
|
type bazelPrebuiltLibrarySharedAttributes struct {
|
||||||
@@ -408,7 +410,8 @@ func prebuiltLibrarySharedBp2Build(ctx android.TopDownMutatorContext, module *Mo
|
|||||||
}
|
}
|
||||||
|
|
||||||
name := android.RemoveOptionalPrebuiltPrefix(module.Name())
|
name := android.RemoveOptionalPrebuiltPrefix(module.Name())
|
||||||
ctx.CreateBazelTargetModuleWithRestrictions(props, android.CommonAttributes{Name: name}, attrs, prebuiltAttrs.Enabled)
|
tags := android.ApexAvailableTags(module)
|
||||||
|
ctx.CreateBazelTargetModuleWithRestrictions(props, android.CommonAttributes{Name: name, Tags: tags}, attrs, prebuiltAttrs.Enabled)
|
||||||
}
|
}
|
||||||
|
|
||||||
type prebuiltObjectProperties struct {
|
type prebuiltObjectProperties struct {
|
||||||
@@ -740,7 +743,8 @@ func prebuiltBinaryBp2Build(ctx android.TopDownMutatorContext, module *Module) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
name := android.RemoveOptionalPrebuiltPrefix(module.Name())
|
name := android.RemoveOptionalPrebuiltPrefix(module.Name())
|
||||||
ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: name}, attrs)
|
tags := android.ApexAvailableTags(module)
|
||||||
|
ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: name, Tags: tags}, attrs)
|
||||||
}
|
}
|
||||||
|
|
||||||
type Sanitized struct {
|
type Sanitized struct {
|
||||||
|
@@ -205,13 +205,13 @@ func bp2buildProto(ctx android.Bp2buildMutatorContext, m *Module, protoSrcs baze
|
|||||||
protoAttrs.Deps.SetValue(protoInfo.Proto_libs)
|
protoAttrs.Deps.SetValue(protoInfo.Proto_libs)
|
||||||
|
|
||||||
name := m.Name() + suffix
|
name := m.Name() + suffix
|
||||||
|
tags := android.ApexAvailableTags(m)
|
||||||
ctx.CreateBazelTargetModule(
|
ctx.CreateBazelTargetModule(
|
||||||
bazel.BazelTargetModuleProperties{
|
bazel.BazelTargetModuleProperties{
|
||||||
Rule_class: rule_class,
|
Rule_class: rule_class,
|
||||||
Bzl_load_location: "//build/bazel/rules/cc:cc_proto.bzl",
|
Bzl_load_location: "//build/bazel/rules/cc:cc_proto.bzl",
|
||||||
},
|
},
|
||||||
android.CommonAttributes{Name: name},
|
android.CommonAttributes{Name: name, Tags: tags},
|
||||||
&protoAttrs)
|
&protoAttrs)
|
||||||
|
|
||||||
var privateHdrs bool
|
var privateHdrs bool
|
||||||
|
Reference in New Issue
Block a user