diff options
author | 2023-06-21 15:16:23 -0700 | |
---|---|---|
committer | 2023-06-21 15:16:23 -0700 | |
commit | 981c926269035b79bd59d15480e806e652575a54 (patch) | |
tree | 6523210015f82f5db7badf3bb6001b80dd51be1b /aconfig/aconfig_values.go | |
parent | 81b25ed02b11753e4dcc224ebead3107b433861e (diff) |
Rename device_config --> aconfig and definitions --> declarations
Bug: 285303012
Test: for x in next trunk trunk_food trunk_staging ; do lunch aosp_panther-$x-eng ; m nothing ; done
Change-Id: I3375f46b3ecbbc516d1bee6ab3f80725fcccde8f
Diffstat (limited to 'aconfig/aconfig_values.go')
-rw-r--r-- | aconfig/aconfig_values.go | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/aconfig/aconfig_values.go b/aconfig/aconfig_values.go new file mode 100644 index 000000000..91f1c9098 --- /dev/null +++ b/aconfig/aconfig_values.go @@ -0,0 +1,70 @@ +// Copyright 2023 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package aconfig + +import ( + "android/soong/android" + "github.com/google/blueprint" +) + +// Properties for "aconfig_value" +type ValuesModule struct { + android.ModuleBase + android.DefaultableModuleBase + + properties struct { + // aconfig files, relative to this Android.bp file + Srcs []string `android:"path"` + + // Release config flag package + Package string + } +} + +func ValuesFactory() android.Module { + module := &ValuesModule{} + + android.InitAndroidModule(module) + android.InitDefaultableModule(module) + module.AddProperties(&module.properties) + // TODO: bp2build + //android.InitBazelModule(module) + + return module +} + +// Provider published by aconfig_value_set +type valuesProviderData struct { + // The package that this values module values + Package string + + // The values aconfig files, relative to the root of the tree + Values android.Paths +} + +var valuesProviderKey = blueprint.NewProvider(valuesProviderData{}) + +func (module *ValuesModule) GenerateAndroidBuildActions(ctx android.ModuleContext) { + if len(module.properties.Package) == 0 { + ctx.PropertyErrorf("package", "missing package property") + } + + // Provide the our source files list to the aconfig_value_set as a list of files + providerData := valuesProviderData{ + Package: module.properties.Package, + Values: android.PathsForModuleSrc(ctx, module.properties.Srcs), + } + ctx.SetProvider(valuesProviderKey, providerData) +} |