Reformat build/soong for go 1.19
Test: none
Change-Id: I132368f0fcbdb5ea088b5b84dbe4ccfdd9e94cad
diff --git a/android/apex.go b/android/apex.go
index 934cf72..b583be3 100644
--- a/android/apex.go
+++ b/android/apex.go
@@ -711,8 +711,8 @@
// NewApexContents creates and initializes an ApexContents that is suitable
// for use with an apex module.
-// * contents is a map from a module name to information about its membership within
-// the apex.
+// - contents is a map from a module name to information about its membership within
+// the apex.
func NewApexContents(contents map[string]ApexMembership) *ApexContents {
return &ApexContents{
contents: contents,
diff --git a/android/arch.go b/android/arch.go
index b5bd2f0..a0895ed 100644
--- a/android/arch.go
+++ b/android/arch.go
@@ -524,26 +524,29 @@
// archMutator splits a module into a variant for each Target requested by the module. Target selection
// for a module is in three levels, OsClass, multilib, and then Target.
// OsClass selection is determined by:
-// - The HostOrDeviceSupported value passed in to InitAndroidArchModule by the module type factory, which selects
-// whether the module type can compile for host, device or both.
-// - The host_supported and device_supported properties on the module.
+// - The HostOrDeviceSupported value passed in to InitAndroidArchModule by the module type factory, which selects
+// whether the module type can compile for host, device or both.
+// - The host_supported and device_supported properties on the module.
+//
// If host is supported for the module, the Host and HostCross OsClasses are selected. If device is supported
// for the module, the Device OsClass is selected.
// Within each selected OsClass, the multilib selection is determined by:
-// - The compile_multilib property if it set (which may be overridden by target.android.compile_multilib or
-// target.host.compile_multilib).
-// - The default multilib passed to InitAndroidArchModule if compile_multilib was not set.
+// - The compile_multilib property if it set (which may be overridden by target.android.compile_multilib or
+// target.host.compile_multilib).
+// - The default multilib passed to InitAndroidArchModule if compile_multilib was not set.
+//
// Valid multilib values include:
-// "both": compile for all Targets supported by the OsClass (generally x86_64 and x86, or arm64 and arm).
-// "first": compile for only a single preferred Target supported by the OsClass. This is generally x86_64 or arm64,
-// but may be arm for a 32-bit only build.
-// "32": compile for only a single 32-bit Target supported by the OsClass.
-// "64": compile for only a single 64-bit Target supported by the OsClass.
-// "common": compile a for a single Target that will work on all Targets supported by the OsClass (for example Java).
-// "common_first": compile a for a Target that will work on all Targets supported by the OsClass
-// (same as "common"), plus a second Target for the preferred Target supported by the OsClass
-// (same as "first"). This is used for java_binary that produces a common .jar and a wrapper
-// executable script.
+//
+// "both": compile for all Targets supported by the OsClass (generally x86_64 and x86, or arm64 and arm).
+// "first": compile for only a single preferred Target supported by the OsClass. This is generally x86_64 or arm64,
+// but may be arm for a 32-bit only build.
+// "32": compile for only a single 32-bit Target supported by the OsClass.
+// "64": compile for only a single 64-bit Target supported by the OsClass.
+// "common": compile a for a single Target that will work on all Targets supported by the OsClass (for example Java).
+// "common_first": compile a for a Target that will work on all Targets supported by the OsClass
+// (same as "common"), plus a second Target for the preferred Target supported by the OsClass
+// (same as "first"). This is used for java_binary that produces a common .jar and a wrapper
+// executable script.
//
// Once the list of Targets is determined, the module is split into a variant for each Target.
//
@@ -1215,11 +1218,13 @@
// Returns the struct containing the properties specific to the given
// architecture type. These look like this in Blueprint files:
-// arch: {
-// arm64: {
-// key: value,
-// },
-// },
+//
+// arch: {
+// arm64: {
+// key: value,
+// },
+// },
+//
// This struct will also contain sub-structs containing to the architecture/CPU
// variants and features that themselves contain properties specific to those.
func getArchTypeStruct(ctx ArchVariantContext, archProperties interface{}, archType ArchType) (reflect.Value, bool) {
@@ -1231,11 +1236,12 @@
// Returns the struct containing the properties specific to a given multilib
// value. These look like this in the Blueprint file:
-// multilib: {
-// lib32: {
-// key: value,
-// },
-// },
+//
+// multilib: {
+// lib32: {
+// key: value,
+// },
+// },
func getMultilibStruct(ctx ArchVariantContext, archProperties interface{}, archType ArchType) (reflect.Value, bool) {
archPropValues := reflect.ValueOf(archProperties).Elem()
multilibProp := archPropValues.FieldByName("Multilib").Elem()
@@ -2010,9 +2016,10 @@
// arch-variant properties correspond to the values of the properties of the 'propertySet' struct
// that are specific to that axis/configuration. Each axis is independent, containing
// non-overlapping configs that correspond to the various "arch-variant" support, at this time:
-// arches (including multilib)
-// oses
-// arch+os combinations
+//
+// arches (including multilib)
+// oses
+// arch+os combinations
//
// For example, passing a struct { Foo bool, Bar string } will return an interface{} that can be
// type asserted back into the same struct, containing the config-specific property value specified
@@ -2165,17 +2172,21 @@
// Returns a struct matching the propertySet interface, containing properties specific to the targetName
// For example, given these arguments:
-// propertySet = BaseCompilerProperties
-// targetName = "android_arm"
+//
+// propertySet = BaseCompilerProperties
+// targetName = "android_arm"
+//
// And given this Android.bp fragment:
-// target:
-// android_arm: {
-// srcs: ["foo.c"],
-// }
-// android_arm64: {
-// srcs: ["bar.c"],
-// }
-// }
+//
+// target:
+// android_arm: {
+// srcs: ["foo.c"],
+// }
+// android_arm64: {
+// srcs: ["bar.c"],
+// }
+// }
+//
// This would return a BaseCompilerProperties with BaseCompilerProperties.Srcs = ["foo.c"]
func getTargetStructs(ctx ArchVariantContext, archProperties []interface{}, targetName string) []reflect.Value {
var propertyStructs []reflect.Value
diff --git a/android/bazel_paths.go b/android/bazel_paths.go
index c030aa8..bbdae96 100644
--- a/android/bazel_paths.go
+++ b/android/bazel_paths.go
@@ -221,9 +221,13 @@
// Transform a path (if necessary) to acknowledge package boundaries
//
// e.g. something like
-// async_safe/include/async_safe/CHECK.h
+//
+// async_safe/include/async_safe/CHECK.h
+//
// might become
-// //bionic/libc/async_safe:include/async_safe/CHECK.h
+//
+// //bionic/libc/async_safe:include/async_safe/CHECK.h
+//
// if the "async_safe" directory is actually a package and not just a directory.
//
// In particular, paths that extend into packages are transformed into absolute labels beginning with //.
@@ -303,20 +307,21 @@
// directory and Bazel target labels, excluding those included in the excludes argument (which
// should already be expanded to resolve references to Soong-modules). Valid elements of paths
// include:
-// * filepath, relative to local module directory, resolves as a filepath relative to the local
-// source directory
-// * glob, relative to the local module directory, resolves as filepath(s), relative to the local
-// module directory. Because Soong does not have a concept of crossing package boundaries, the
-// glob as computed by Soong may contain paths that cross package-boundaries that would be
-// unknowingly omitted if the glob were handled by Bazel. To allow identification and detect
-// (within Bazel) use of paths that cross package boundaries, we expand globs within Soong rather
-// than converting Soong glob syntax to Bazel glob syntax. **Invalid for excludes.**
-// * other modules using the ":name{.tag}" syntax. These modules must implement SourceFileProducer
-// or OutputFileProducer. These resolve as a Bazel label for a target. If the Bazel target is in
-// the local module directory, it will be returned relative to the current package (e.g.
-// ":<target>"). Otherwise, it will be returned as an absolute Bazel label (e.g.
-// "//path/to/dir:<target>"). If the reference to another module cannot be resolved,the function
-// will panic.
+// - filepath, relative to local module directory, resolves as a filepath relative to the local
+// source directory
+// - glob, relative to the local module directory, resolves as filepath(s), relative to the local
+// module directory. Because Soong does not have a concept of crossing package boundaries, the
+// glob as computed by Soong may contain paths that cross package-boundaries that would be
+// unknowingly omitted if the glob were handled by Bazel. To allow identification and detect
+// (within Bazel) use of paths that cross package boundaries, we expand globs within Soong rather
+// than converting Soong glob syntax to Bazel glob syntax. **Invalid for excludes.**
+// - other modules using the ":name{.tag}" syntax. These modules must implement SourceFileProducer
+// or OutputFileProducer. These resolve as a Bazel label for a target. If the Bazel target is in
+// the local module directory, it will be returned relative to the current package (e.g.
+// ":<target>"). Otherwise, it will be returned as an absolute Bazel label (e.g.
+// "//path/to/dir:<target>"). If the reference to another module cannot be resolved,the function
+// will panic.
+//
// Properties passed as the paths or excludes argument must have been annotated with struct tag
// `android:"path"` so that dependencies on other modules will have already been handled by the
// path_deps mutator.
diff --git a/android/bazel_test.go b/android/bazel_test.go
index e14649e..da4a915 100644
--- a/android/bazel_test.go
+++ b/android/bazel_test.go
@@ -4,7 +4,7 @@
// 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
+// 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,
diff --git a/android/config_bp2build.go b/android/config_bp2build.go
index 748be62..d6b2bcf 100644
--- a/android/config_bp2build.go
+++ b/android/config_bp2build.go
@@ -240,10 +240,12 @@
// ExportedVariableReferenceDictVariables is a mapping from variable names to a
// dictionary which references previously defined variables. This is used to
// create a Starlark output such as:
-// string_var1 = "string1
-// var_ref_dict_var1 = {
-// "key1": string_var1
-// }
+//
+// string_var1 = "string1
+// var_ref_dict_var1 = {
+// "key1": string_var1
+// }
+//
// This type of variable collection must be expanded last so that it recognizes
// previously defined variables.
type ExportedVariableReferenceDictVariables map[string]map[string]string
diff --git a/android/defaults.go b/android/defaults.go
index 54f44bc..03b2efb 100644
--- a/android/defaults.go
+++ b/android/defaults.go
@@ -151,12 +151,12 @@
// retrieve the values it is necessary to iterate over properties(). E.g. to get
// the commonProperties instance that have the real values:
//
-// d := myModule.(Defaults)
-// for _, props := range d.properties() {
-// if cp, ok := props.(*commonProperties); ok {
-// ... access property values in cp ...
-// }
-// }
+// d := myModule.(Defaults)
+// for _, props := range d.properties() {
+// if cp, ok := props.(*commonProperties); ok {
+// ... access property values in cp ...
+// }
+// }
//
// The rationale is that the properties on a defaults module apply to the
// defaultable modules using it, not to the defaults module itself. E.g. setting
diff --git a/android/fixture.go b/android/fixture.go
index 0690a5a..f718935 100644
--- a/android/fixture.go
+++ b/android/fixture.go
@@ -420,11 +420,13 @@
// instances.
//
// base - a list of already flattened and deduped preparers that will be applied first before
-// the list of additional preparers. Any duplicates of these in the additional preparers
-// will be ignored.
+//
+// the list of additional preparers. Any duplicates of these in the additional preparers
+// will be ignored.
//
// preparers - a list of additional unflattened, undeduped preparers that will be applied after the
-// base preparers.
+//
+// base preparers.
//
// Returns a deduped and flattened list of the preparers starting with the ones in base with any
// additional ones from the preparers list added afterwards.
@@ -498,10 +500,10 @@
// FixtureErrorHandler determines how to respond to errors reported by the code under test.
//
// Some possible responses:
-// * Fail the test if any errors are reported, see FixtureExpectsNoErrors.
-// * Fail the test if at least one error that matches a pattern is not reported see
-// FixtureExpectsAtLeastOneErrorMatchingPattern
-// * Fail the test if any unexpected errors are reported.
+// - Fail the test if any errors are reported, see FixtureExpectsNoErrors.
+// - Fail the test if at least one error that matches a pattern is not reported see
+// FixtureExpectsAtLeastOneErrorMatchingPattern
+// - Fail the test if any unexpected errors are reported.
//
// Although at the moment all the error handlers are implemented as simply a wrapper around a
// function this is defined as an interface to allow future enhancements, e.g. provide different
@@ -866,10 +868,12 @@
// that produced this result.
//
// e.g. assuming that this result was created by running:
-// GroupFixturePreparers(preparer1, preparer2, preparer3).RunTest(t)
+//
+// GroupFixturePreparers(preparer1, preparer2, preparer3).RunTest(t)
//
// Then this method will be equivalent to running:
-// GroupFixturePreparers(preparer1, preparer2, preparer3)
+//
+// GroupFixturePreparers(preparer1, preparer2, preparer3)
//
// This is intended for use by tests whose output is Android.bp files to verify that those files
// are valid, e.g. tests of the snapshots produced by the sdk module type.
diff --git a/android/module.go b/android/module.go
index a75a3cc..bf62080 100644
--- a/android/module.go
+++ b/android/module.go
@@ -1109,7 +1109,7 @@
// property structs for architecture-specific versions of generic properties tagged with
// `android:"arch_variant"`.
//
-// InitAndroidModule should not be called if InitAndroidArchModule was called.
+// InitAndroidModule should not be called if InitAndroidArchModule was called.
func InitAndroidArchModule(m Module, hod HostOrDeviceSupported, defaultMultilib Multilib) {
InitAndroidModule(m)
diff --git a/android/paths.go b/android/paths.go
index f8e7018..74d9f13 100644
--- a/android/paths.go
+++ b/android/paths.go
@@ -387,20 +387,21 @@
}
// PathsForModuleSrc returns a Paths{} containing the resolved references in paths:
-// * filepath, relative to local module directory, resolves as a filepath relative to the local
-// source directory
-// * glob, relative to the local module directory, resolves as filepath(s), relative to the local
-// source directory.
-// * other modules using the ":name{.tag}" syntax. These modules must implement SourceFileProducer
-// or OutputFileProducer. These resolve as a filepath to an output filepath or generated source
-// filepath.
+// - filepath, relative to local module directory, resolves as a filepath relative to the local
+// source directory
+// - glob, relative to the local module directory, resolves as filepath(s), relative to the local
+// source directory.
+// - other modules using the ":name{.tag}" syntax. These modules must implement SourceFileProducer
+// or OutputFileProducer. These resolve as a filepath to an output filepath or generated source
+// filepath.
+//
// Properties passed as the paths argument must have been annotated with struct tag
// `android:"path"` so that dependencies on SourceFileProducer modules will have already been handled by the
// path_deps mutator.
// If a requested module is not found as a dependency:
-// * if ctx.Config().AllowMissingDependencies() is true, this module to be marked as having
+// - if ctx.Config().AllowMissingDependencies() is true, this module to be marked as having
// missing dependencies
-// * otherwise, a ModuleError is thrown.
+// - otherwise, a ModuleError is thrown.
func PathsForModuleSrc(ctx ModuleMissingDepsPathContext, paths []string) Paths {
return PathsForModuleSrcExcludes(ctx, paths, nil)
}
@@ -414,21 +415,22 @@
// PathsForModuleSrcExcludes returns a Paths{} containing the resolved references in paths, minus
// those listed in excludes. Elements of paths and excludes are resolved as:
-// * filepath, relative to local module directory, resolves as a filepath relative to the local
-// source directory
-// * glob, relative to the local module directory, resolves as filepath(s), relative to the local
-// source directory. Not valid in excludes.
-// * other modules using the ":name{.tag}" syntax. These modules must implement SourceFileProducer
-// or OutputFileProducer. These resolve as a filepath to an output filepath or generated source
-// filepath.
+// - filepath, relative to local module directory, resolves as a filepath relative to the local
+// source directory
+// - glob, relative to the local module directory, resolves as filepath(s), relative to the local
+// source directory. Not valid in excludes.
+// - other modules using the ":name{.tag}" syntax. These modules must implement SourceFileProducer
+// or OutputFileProducer. These resolve as a filepath to an output filepath or generated source
+// filepath.
+//
// excluding the items (similarly resolved
// Properties passed as the paths argument must have been annotated with struct tag
// `android:"path"` so that dependencies on SourceFileProducer modules will have already been handled by the
// path_deps mutator.
// If a requested module is not found as a dependency:
-// * if ctx.Config().AllowMissingDependencies() is true, this module to be marked as having
+// - if ctx.Config().AllowMissingDependencies() is true, this module to be marked as having
// missing dependencies
-// * otherwise, a ModuleError is thrown.
+// - otherwise, a ModuleError is thrown.
func PathsForModuleSrcExcludes(ctx ModuleMissingDepsPathContext, paths, excludes []string) Paths {
return PathsRelativeToModuleSourceDir(SourceInput{
Context: ctx,
@@ -548,13 +550,14 @@
// PathsAndMissingDepsForModuleSrcExcludes returns a Paths{} containing the resolved references in
// paths, minus those listed in excludes. Elements of paths and excludes are resolved as:
-// * filepath, relative to local module directory, resolves as a filepath relative to the local
-// source directory
-// * glob, relative to the local module directory, resolves as filepath(s), relative to the local
-// source directory. Not valid in excludes.
-// * other modules using the ":name{.tag}" syntax. These modules must implement SourceFileProducer
-// or OutputFileProducer. These resolve as a filepath to an output filepath or generated source
-// filepath.
+// - filepath, relative to local module directory, resolves as a filepath relative to the local
+// source directory
+// - glob, relative to the local module directory, resolves as filepath(s), relative to the local
+// source directory. Not valid in excludes.
+// - other modules using the ":name{.tag}" syntax. These modules must implement SourceFileProducer
+// or OutputFileProducer. These resolve as a filepath to an output filepath or generated source
+// filepath.
+//
// and a list of the module names of missing module dependencies are returned as the second return.
// Properties passed as the paths argument must have been annotated with struct tag
// `android:"path"` so that dependencies on SourceFileProducer modules will have already been handled by the
diff --git a/android/register.go b/android/register.go
index 4ff8fff..5832b1b 100644
--- a/android/register.go
+++ b/android/register.go
@@ -258,20 +258,20 @@
// Used to register build components from an init() method, e.g.
//
-// init() {
-// RegisterBuildComponents(android.InitRegistrationContext)
-// }
+// init() {
+// RegisterBuildComponents(android.InitRegistrationContext)
+// }
//
-// func RegisterBuildComponents(ctx android.RegistrationContext) {
-// ctx.RegisterModuleType(...)
-// ...
-// }
+// func RegisterBuildComponents(ctx android.RegistrationContext) {
+// ctx.RegisterModuleType(...)
+// ...
+// }
//
// Extracting the actual registration into a separate RegisterBuildComponents(ctx) function
// allows it to be used to initialize test context, e.g.
//
-// ctx := android.NewTestContext(config)
-// RegisterBuildComponents(ctx)
+// ctx := android.NewTestContext(config)
+// RegisterBuildComponents(ctx)
var InitRegistrationContext RegistrationContext = &initRegistrationContext{
moduleTypes: make(map[string]ModuleFactory),
singletonTypes: make(map[string]SingletonFactory),
diff --git a/android/rule_builder.go b/android/rule_builder.go
index 11da36c..155fbdf 100644
--- a/android/rule_builder.go
+++ b/android/rule_builder.go
@@ -1031,7 +1031,8 @@
// be also added to the dependencies returned by RuleBuilder.Tools.
//
// It is equivalent to:
-// cmd.Tool(ctx.Config().HostToolPath(ctx, tool))
+//
+// cmd.Tool(ctx.Config().HostToolPath(ctx, tool))
func (c *RuleBuilderCommand) BuiltTool(tool string) *RuleBuilderCommand {
if c.rule.ctx.Config().UseHostMusl() {
// If the host is using musl, assume that the tool was built against musl libc and include
@@ -1053,7 +1054,8 @@
// dependencies returned by RuleBuilder.Tools.
//
// It is equivalent to:
-// cmd.Tool(ctx.Config().PrebuiltBuildTool(ctx, tool))
+//
+// cmd.Tool(ctx.Config().PrebuiltBuildTool(ctx, tool))
func (c *RuleBuilderCommand) PrebuiltBuildTool(ctx PathContext, tool string) *RuleBuilderCommand {
return c.Tool(ctx.Config().PrebuiltBuildTool(ctx, tool))
}
diff --git a/android/sdk.go b/android/sdk.go
index a71f7f2..a477cba 100644
--- a/android/sdk.go
+++ b/android/sdk.go
@@ -430,13 +430,13 @@
// required for some members but not others. Traits can cause additional information to be output
// to the sdk snapshot or replace the default information exported for a member with something else.
// e.g.
-// * By default cc libraries only export the default image variants to the SDK. However, for some
-// members it may be necessary to export specific image variants, e.g. vendor, or recovery.
-// * By default cc libraries export all the configured architecture variants except for the native
-// bridge architecture variants. However, for some members it may be necessary to export the
-// native bridge architecture variants as well.
-// * By default cc libraries export the platform variant (i.e. sdk:). However, for some members it
-// may be necessary to export the sdk variant (i.e. sdk:sdk).
+// - By default cc libraries only export the default image variants to the SDK. However, for some
+// members it may be necessary to export specific image variants, e.g. vendor, or recovery.
+// - By default cc libraries export all the configured architecture variants except for the native
+// bridge architecture variants. However, for some members it may be necessary to export the
+// native bridge architecture variants as well.
+// - By default cc libraries export the platform variant (i.e. sdk:). However, for some members it
+// may be necessary to export the sdk variant (i.e. sdk:sdk).
//
// A sdk can request a module to provide no traits, one trait or a collection of traits. The exact
// behavior of a trait is determined by how SdkMemberType implementations handle the traits. A trait
@@ -447,17 +447,17 @@
// SdkPropertyName(). Each property contains a list of modules that are required to have that trait.
// e.g. something like this:
//
-// sdk {
-// name: "sdk",
-// ...
-// traits: {
-// recovery_image: ["module1", "module4", "module5"],
-// native_bridge: ["module1", "module2"],
-// native_sdk: ["module1", "module3"],
-// ...
-// },
-// ...
-// }
+// sdk {
+// name: "sdk",
+// ...
+// traits: {
+// recovery_image: ["module1", "module4", "module5"],
+// native_bridge: ["module1", "module2"],
+// native_sdk: ["module1", "module3"],
+// ...
+// },
+// ...
+// }
type SdkMemberTrait interface {
// SdkPropertyName returns the name of the traits property on an sdk module.
SdkPropertyName() string
@@ -639,20 +639,19 @@
// The basic implementation should look something like this, where ModuleType is
// the name of the module type being supported.
//
-// type moduleTypeSdkMemberType struct {
-// android.SdkMemberTypeBase
-// }
+// type moduleTypeSdkMemberType struct {
+// android.SdkMemberTypeBase
+// }
//
-// func init() {
-// android.RegisterSdkMemberType(&moduleTypeSdkMemberType{
-// SdkMemberTypeBase: android.SdkMemberTypeBase{
-// PropertyName: "module_types",
-// },
-// }
-// }
+// func init() {
+// android.RegisterSdkMemberType(&moduleTypeSdkMemberType{
+// SdkMemberTypeBase: android.SdkMemberTypeBase{
+// PropertyName: "module_types",
+// },
+// }
+// }
//
-// ...methods...
-//
+// ...methods...
type SdkMemberType interface {
// SdkPropertyName returns the name of the member type property on an sdk module.
SdkPropertyName() string
diff --git a/android/soong_config_modules.go b/android/soong_config_modules.go
index bd73645..b25f248 100644
--- a/android/soong_config_modules.go
+++ b/android/soong_config_modules.go
@@ -190,77 +190,78 @@
//
// Each soong_config_variable supports an additional value `conditions_default`. The properties
// specified in `conditions_default` will only be used under the following conditions:
-// bool variable: the variable is unspecified or not set to a true value
-// value variable: the variable is unspecified
-// string variable: the variable is unspecified or the variable is set to a string unused in the
-// given module. For example, string variable `test` takes values: "a" and "b",
-// if the module contains a property `a` and `conditions_default`, when test=b,
-// the properties under `conditions_default` will be used. To specify that no
-// properties should be amended for `b`, you can set `b: {},`.
+//
+// bool variable: the variable is unspecified or not set to a true value
+// value variable: the variable is unspecified
+// string variable: the variable is unspecified or the variable is set to a string unused in the
+// given module. For example, string variable `test` takes values: "a" and "b",
+// if the module contains a property `a` and `conditions_default`, when test=b,
+// the properties under `conditions_default` will be used. To specify that no
+// properties should be amended for `b`, you can set `b: {},`.
//
// For example, an Android.bp file could have:
//
-// soong_config_module_type {
-// name: "acme_cc_defaults",
-// module_type: "cc_defaults",
-// config_namespace: "acme",
-// variables: ["board"],
-// bool_variables: ["feature"],
-// value_variables: ["width"],
-// properties: ["cflags", "srcs"],
-// }
+// soong_config_module_type {
+// name: "acme_cc_defaults",
+// module_type: "cc_defaults",
+// config_namespace: "acme",
+// variables: ["board"],
+// bool_variables: ["feature"],
+// value_variables: ["width"],
+// properties: ["cflags", "srcs"],
+// }
//
-// soong_config_string_variable {
-// name: "board",
-// values: ["soc_a", "soc_b"],
-// }
+// soong_config_string_variable {
+// name: "board",
+// values: ["soc_a", "soc_b"],
+// }
//
-// acme_cc_defaults {
-// name: "acme_defaults",
-// cflags: ["-DGENERIC"],
-// soong_config_variables: {
-// board: {
-// soc_a: {
-// cflags: ["-DSOC_A"],
-// },
-// soc_b: {
-// cflags: ["-DSOC_B"],
-// },
-// conditions_default: {
-// cflags: ["-DSOC_DEFAULT"],
-// },
-// },
-// feature: {
-// cflags: ["-DFEATURE"],
-// conditions_default: {
-// cflags: ["-DFEATURE_DEFAULT"],
-// },
-// },
-// width: {
-// cflags: ["-DWIDTH=%s"],
-// conditions_default: {
-// cflags: ["-DWIDTH=DEFAULT"],
-// },
-// },
-// },
-// }
+// acme_cc_defaults {
+// name: "acme_defaults",
+// cflags: ["-DGENERIC"],
+// soong_config_variables: {
+// board: {
+// soc_a: {
+// cflags: ["-DSOC_A"],
+// },
+// soc_b: {
+// cflags: ["-DSOC_B"],
+// },
+// conditions_default: {
+// cflags: ["-DSOC_DEFAULT"],
+// },
+// },
+// feature: {
+// cflags: ["-DFEATURE"],
+// conditions_default: {
+// cflags: ["-DFEATURE_DEFAULT"],
+// },
+// },
+// width: {
+// cflags: ["-DWIDTH=%s"],
+// conditions_default: {
+// cflags: ["-DWIDTH=DEFAULT"],
+// },
+// },
+// },
+// }
//
-// cc_library {
-// name: "libacme_foo",
-// defaults: ["acme_defaults"],
-// srcs: ["*.cpp"],
-// }
+// cc_library {
+// name: "libacme_foo",
+// defaults: ["acme_defaults"],
+// srcs: ["*.cpp"],
+// }
//
// If an acme BoardConfig.mk file contained:
//
-// SOONG_CONFIG_NAMESPACES += acme
-// SOONG_CONFIG_acme += \
-// board \
-// feature \
+// SOONG_CONFIG_NAMESPACES += acme
+// SOONG_CONFIG_acme += \
+// board \
+// feature \
//
-// SOONG_CONFIG_acme_board := soc_a
-// SOONG_CONFIG_acme_feature := true
-// SOONG_CONFIG_acme_width := 200
+// SOONG_CONFIG_acme_board := soc_a
+// SOONG_CONFIG_acme_feature := true
+// SOONG_CONFIG_acme_width := 200
//
// Then libacme_foo would build with cflags "-DGENERIC -DSOC_A -DFEATURE".
func SoongConfigModuleTypeFactory() Module {
diff --git a/android/soongconfig/modules.go b/android/soongconfig/modules.go
index 212b752..7d21b75 100644
--- a/android/soongconfig/modules.go
+++ b/android/soongconfig/modules.go
@@ -343,23 +343,26 @@
//
// For example, the acme_cc_defaults example above would
// produce a reflect.Value whose type is:
-// *struct {
-// Soong_config_variables struct {
-// Board struct {
-// Soc_a interface{}
-// Soc_b interface{}
-// }
-// }
-// }
+//
+// *struct {
+// Soong_config_variables struct {
+// Board struct {
+// Soc_a interface{}
+// Soc_b interface{}
+// }
+// }
+// }
+//
// And whose value is:
-// &{
-// Soong_config_variables: {
-// Board: {
-// Soc_a: (*struct{ Cflags []string })(nil),
-// Soc_b: (*struct{ Cflags []string })(nil),
-// },
-// },
-// }
+//
+// &{
+// Soong_config_variables: {
+// Board: {
+// Soc_a: (*struct{ Cflags []string })(nil),
+// Soc_b: (*struct{ Cflags []string })(nil),
+// },
+// },
+// }
func CreateProperties(factory blueprint.ModuleFactory, moduleType *ModuleType) reflect.Value {
var fields []reflect.StructField
diff --git a/android/testing.go b/android/testing.go
index 85bdca4..b4429ca 100644
--- a/android/testing.go
+++ b/android/testing.go
@@ -688,17 +688,17 @@
//
// The parts of this structure which are changed are:
// * BuildParams
-// * Args
-// * All Path, Paths, WritablePath and WritablePaths fields.
+// - Args
+// - All Path, Paths, WritablePath and WritablePaths fields.
//
// * RuleParams
-// * Command
-// * Depfile
-// * Rspfile
-// * RspfileContent
-// * SymlinkOutputs
-// * CommandDeps
-// * CommandOrderOnly
+// - Command
+// - Depfile
+// - Rspfile
+// - RspfileContent
+// - SymlinkOutputs
+// - CommandDeps
+// - CommandOrderOnly
//
// See PathRelativeToTop for more details.
//
diff --git a/android/variable.go b/android/variable.go
index 86b8c8f..2d7b0bf 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -702,20 +702,20 @@
//
// If the ProductConfigProperties map contains these items, as parsed from the .bp file:
//
-// library_linking_strategy: {
-// prefer_static: {
-// static_libs: [
-// "lib_a",
-// "lib_b",
-// ],
-// },
-// conditions_default: {
-// shared_libs: [
-// "lib_a",
-// "lib_b",
-// ],
-// },
-// },
+// library_linking_strategy: {
+// prefer_static: {
+// static_libs: [
+// "lib_a",
+// "lib_b",
+// ],
+// },
+// conditions_default: {
+// shared_libs: [
+// "lib_a",
+// "lib_b",
+// ],
+// },
+// },
//
// Static_libs {Library_linking_strategy ANDROID prefer_static} [lib_a lib_b]
// Shared_libs {Library_linking_strategy ANDROID conditions_default} [lib_a lib_b]
@@ -728,13 +728,13 @@
// instead of putting lib_a and lib_b directly into dynamic_deps without a
// select:
//
-// dynamic_deps = select({
-// "//build/bazel/product_variables:android__library_linking_strategy__prefer_static": [],
-// "//conditions:default": [
-// "//foo/bar:lib_a",
-// "//foo/bar:lib_b",
-// ],
-// }),
+// dynamic_deps = select({
+// "//build/bazel/product_variables:android__library_linking_strategy__prefer_static": [],
+// "//conditions:default": [
+// "//foo/bar:lib_a",
+// "//foo/bar:lib_b",
+// ],
+// }),
func (props *ProductConfigProperties) zeroValuesForNamespacedVariables() {
// A map of product config properties to the zero values of their respective
// property value.