summaryrefslogtreecommitdiff
path: root/android/module.go
diff options
context:
space:
mode:
author Bob Badour <bbadour@google.com> 2021-01-06 18:08:07 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-01-06 18:08:07 +0000
commit659f11fcfcc55f97b5d6ca6e75668fecbeaa01c3 (patch)
tree114ba80c3c6fa81ee49de3c25df1da1b054d6730 /android/module.go
parent5542859c312bac47097a116d5d439727fefa24a1 (diff)
parent13351b2c7d181f6d100001e86ca3faa6cabb92eb (diff)
Merge changes from topic "metalics"
* changes: Define the standard license_kind rules. Export soong license data to make. Add ability to declare licenses in soong.
Diffstat (limited to 'android/module.go')
-rw-r--r--android/module.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/android/module.go b/android/module.go
index cfb32c126..b0ad89bb2 100644
--- a/android/module.go
+++ b/android/module.go
@@ -619,6 +619,20 @@ type commonProperties struct {
// more details.
Visibility []string
+ // Describes the licenses applicable to this module. Must reference license modules.
+ Licenses []string
+
+ // Flattened from direct license dependencies. Equal to Licenses unless particular module adds more.
+ Effective_licenses []string `blueprint:"mutated"`
+ // Override of module name when reporting licenses
+ Effective_package_name *string `blueprint:"mutated"`
+ // Notice files
+ Effective_license_text []string `blueprint:"mutated"`
+ // License names
+ Effective_license_kinds []string `blueprint:"mutated"`
+ // License conditions
+ Effective_license_conditions []string `blueprint:"mutated"`
+
// control whether this module compiles for 32-bit, 64-bit, or both. Possible values
// are "32" (compile for 32-bit only), "64" (compile for 64-bit only), "both" (compile for both
// architectures), or "first" (compile for 64-bit on a 64-bit platform, and 32-bit on a 32-bit
@@ -940,6 +954,10 @@ func InitAndroidModule(m Module) {
// The default_visibility property needs to be checked and parsed by the visibility module during
// its checking and parsing phases so make it the primary visibility property.
setPrimaryVisibilityProperty(m, "visibility", &base.commonProperties.Visibility)
+
+ // The default_applicable_licenses property needs to be checked and parsed by the licenses module during
+ // its checking and parsing phases so make it the primary licenses property.
+ setPrimaryLicensesProperty(m, "licenses", &base.commonProperties.Licenses)
}
// InitAndroidArchModule initializes the Module as an Android module that is architecture-specific.
@@ -1057,6 +1075,9 @@ type ModuleBase struct {
// The primary visibility property, may be nil, that controls access to the module.
primaryVisibilityProperty visibilityProperty
+ // The primary licenses property, may be nil, records license metadata for the module.
+ primaryLicensesProperty applicableLicensesProperty
+
noAddressSanitizer bool
installFiles InstallPaths
installFilesDepSet *installPathsDepSet
@@ -1732,6 +1753,11 @@ func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext)
}
}
+ licensesPropertyFlattener(ctx)
+ if ctx.Failed() {
+ return
+ }
+
m.module.GenerateAndroidBuildActions(ctx)
if ctx.Failed() {
return