diff options
Diffstat (limited to 'android/filegroup.go')
-rw-r--r-- | android/filegroup.go | 57 |
1 files changed, 55 insertions, 2 deletions
diff --git a/android/filegroup.go b/android/filegroup.go index 47102b915..9bcfd0a83 100644 --- a/android/filegroup.go +++ b/android/filegroup.go @@ -33,6 +33,7 @@ var PrepareForTestWithFilegroup = FixtureRegisterWithContext(func(ctx Registrati func RegisterFilegroupBuildComponents(ctx RegistrationContext) { ctx.RegisterModuleType("filegroup", FileGroupFactory) ctx.RegisterModuleType("filegroup_defaults", FileGroupDefaultsFactory) + ctx.RegisterModuleType("otatools_package_filegroup", OtatoolsFileGroupFactory) } type fileGroupProperties struct { @@ -131,10 +132,11 @@ func (fg *fileGroup) Srcs() Paths { return append(Paths{}, fg.srcs...) } -func (fg *fileGroup) MakeVars(ctx MakeVarsModuleContext) { +func (fg *fileGroup) MakeVars(_ MakeVarsModuleContext) []ModuleMakeVarsValue { if makeVar := String(fg.properties.Export_to_make_var); makeVar != "" { - ctx.StrictRaw(makeVar, strings.Join(fg.srcs.Strings(), " ")) + return []ModuleMakeVarsValue{{makeVar, strings.Join(fg.srcs.Strings(), " ")}} } + return nil } // Defaults @@ -162,3 +164,54 @@ func (fg *fileGroup) IDEInfo(ctx BaseModuleContext, dpInfo *IdeInfo) { } } } + +type OtatoolsFileGroup struct { + ModuleBase +} + +func OtatoolsFileGroupFactory() Module { + module := &OtatoolsFileGroup{} + InitAndroidModule(module) + AddLoadHook(module, func(ctx LoadHookContext) { + module.createOTAToolsPackagefilegroup(ctx) + }) + return module +} + +func (fg *OtatoolsFileGroup) GenerateAndroidBuildActions(ctx ModuleContext) { +} + +// Create the filegroup to collect cert files for otatools.zip. +func (fg *OtatoolsFileGroup) createOTAToolsPackagefilegroup(ctx LoadHookContext) { + ctx.CreateModuleInDirectory( + FileGroupFactory, + ".", + &struct { + Name *string + Srcs []string + Visibility []string + }{ + Name: proptools.StringPtr("soong_generated_otatools_package_filegroup"), + Srcs: []string{ + "build/make/target/product/security/**/*.x509.pem", + "build/make/target/product/security/**/*.pk8", + "device/**/*.pk8", + "device/**/verifiedboot*", + "device/**/*.pem", + "device/**/oem*.prop", + "device/**/*.avbpubkey", + "external/avb/test/data/**/testkey_*.pem", + "external/avb/test/data/**/atx_metadata.bin", + "packages/modules/**/*.x509.pem", + "packages/modules/**/*.pk8", + "packages/modules/**/*.key.pem", + "vendor/**/*.pk8", + "vendor/**/verifiedboot*", + "vendor/**/*.pem", + "vendor/**/oem*.prop", + "vendor/**/*.avbpubkey", + }, + Visibility: []string{"//build/make/tools/otatools_package"}, + }, + ) +} |