Package releasetools.py in target_files.zip
This CL creates an intermediate filegroup, and adds that to
`Releasetools_extension` dep of the autogenerated android_device. This
dep will be used for packaging target_files.zip
Bug: 3493530
Test: Built and diff'd target_files.zip
Change-Id: I9a5a2c3dba5fd37924544e92cb2646837047600a
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index 6a9fc92..c2721d2 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -320,6 +320,26 @@
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 @@
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)
}