diff options
Diffstat (limited to 'fsgen/filesystem_creator.go')
-rw-r--r-- | fsgen/filesystem_creator.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go index 6a9fc9236..c2721d29f 100644 --- a/fsgen/filesystem_creator.go +++ b/fsgen/filesystem_creator.go @@ -320,6 +320,26 @@ func (f *filesystemCreator) createBootloaderFilegroup(ctx android.LoadHookContex return bootloaderFilegroupName, true } +func (f *filesystemCreator) createReleaseToolsFilegroup(ctx android.LoadHookContext) (string, bool) { + releaseToolsDir := ctx.Config().ProductVariables().PartitionVarsForSoongMigrationOnlyDoNotUse.ReleaseToolsExtensionDir + if releaseToolsDir == "" { + return "", false + } + + releaseToolsFilegroupName := generatedModuleName(ctx.Config(), "releasetools") + filegroupProps := &struct { + Name *string + Srcs []string + Visibility []string + }{ + Name: proptools.StringPtr(releaseToolsFilegroupName), + Srcs: []string{"releasetools.py"}, + Visibility: []string{"//visibility:public"}, + } + ctx.CreateModuleInDirectory(android.FileGroupFactory, releaseToolsDir, filegroupProps) + return releaseToolsFilegroupName, true +} + func (f *filesystemCreator) createDeviceModule( ctx android.LoadHookContext, partitions allGeneratedPartitionData, @@ -387,9 +407,13 @@ func (f *filesystemCreator) createDeviceModule( Ab_ota_postinstall_config: ctx.Config().ProductVariables().PartitionVarsForSoongMigrationOnlyDoNotUse.AbOtaPostInstallConfig, Ramdisk_node_list: proptools.StringPtr(":ramdisk_node_list"), } + if bootloader, ok := f.createBootloaderFilegroup(ctx); ok { deviceProps.Bootloader = proptools.StringPtr(":" + bootloader) } + if releaseTools, ok := f.createReleaseToolsFilegroup(ctx); ok { + deviceProps.Releasetools_extension = proptools.StringPtr(":" + releaseTools) + } ctx.CreateModule(filesystem.AndroidDeviceFactory, baseProps, partitionProps, deviceProps) } |