summaryrefslogtreecommitdiff
path: root/aconfig/aconfig_value_set.go
diff options
context:
space:
mode:
author Yu Liu <yudiliu@google.com> 2023-09-05 17:19:45 -0700
committer Yu Liu <yudiliu@google.com> 2023-09-09 12:33:40 -0700
commit2cc802a4421313db16a054674a4dc567f400844b (patch)
treeb649781238d38c8f2018dc06db2eb4c6416940d7 /aconfig/aconfig_value_set.go
parent3f0aa4d618766485293946bbd1b603f8904d5310 (diff)
Support aconfig_declarations, aconfig_values and aconfig_value_set
Bug: 297356603 Test: Unit tests Change-Id: I2f797578a35322440db0f281b4d46b6652512e00
Diffstat (limited to 'aconfig/aconfig_value_set.go')
-rw-r--r--aconfig/aconfig_value_set.go25
1 files changed, 23 insertions, 2 deletions
diff --git a/aconfig/aconfig_value_set.go b/aconfig/aconfig_value_set.go
index 252908fa3..af9ddd3dc 100644
--- a/aconfig/aconfig_value_set.go
+++ b/aconfig/aconfig_value_set.go
@@ -16,6 +16,7 @@ package aconfig
import (
"android/soong/android"
+ "android/soong/bazel"
"github.com/google/blueprint"
)
@@ -23,6 +24,7 @@ import (
type ValueSetModule struct {
android.ModuleBase
android.DefaultableModuleBase
+ android.BazelModuleBase
properties struct {
// aconfig_values modules
@@ -36,8 +38,7 @@ func ValueSetFactory() android.Module {
android.InitAndroidModule(module)
android.InitDefaultableModule(module)
module.AddProperties(&module.properties)
- // TODO: bp2build
- //android.InitBazelModule(module)
+ android.InitBazelModule(module)
return module
}
@@ -90,3 +91,23 @@ func (module *ValueSetModule) GenerateAndroidBuildActions(ctx android.ModuleCont
AvailablePackages: packages,
})
}
+
+type bazelAconfigValueSetAttributes struct {
+ Values bazel.LabelListAttribute
+}
+
+func (module *ValueSetModule) ConvertWithBp2build(ctx android.TopDownMutatorContext) {
+ if ctx.ModuleType() != "aconfig_value_set" {
+ return
+ }
+
+ attrs := bazelAconfigValueSetAttributes{
+ Values: bazel.MakeLabelListAttribute(android.BazelLabelForModuleDeps(ctx, module.properties.Values)),
+ }
+ props := bazel.BazelTargetModuleProperties{
+ Rule_class: "aconfig_value_set",
+ Bzl_load_location: "//build/bazel/rules/aconfig:aconfig_value_set.bzl",
+ }
+
+ ctx.CreateBazelTargetModule(props, android.CommonAttributes{Name: module.Name()}, &attrs)
+}