diff options
author | 2025-01-30 01:14:49 +0000 | |
---|---|---|
committer | 2025-01-30 18:37:02 +0000 | |
commit | 0a6315bd1ed8bdd9423826066f833c202b6f48ad (patch) | |
tree | 7d5fd861bc251be6a10e373cf54ab70f336a9571 /filesystem/android_device.go | |
parent | 732446ca771879c9ccf431e854defb275146f7c4 (diff) |
Generate phony targets for partitions
This change allows `m <partition name>image` to be built in soong-only
builds.
Test: aninja -t query systemimage
Bug: 392957226
Change-Id: Idf1cceae2b88d9f4da073535deef798adab48bd0
Diffstat (limited to 'filesystem/android_device.go')
-rw-r--r-- | filesystem/android_device.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/filesystem/android_device.go b/filesystem/android_device.go index eb2e0367a..4201de56e 100644 --- a/filesystem/android_device.go +++ b/filesystem/android_device.go @@ -15,6 +15,7 @@ package filesystem import ( + "fmt" "strings" "sync/atomic" @@ -221,6 +222,8 @@ func (a *androidDevice) GenerateAndroidBuildActions(ctx android.ModuleContext) { // Checkbuilding it causes soong to make a phony, so you can say `m <module name>` ctx.CheckbuildFile(allImagesStamp) + + a.setVbmetaPhonyTargets(ctx) } // Helper structs for target_files.zip creation @@ -406,3 +409,20 @@ func (a *androidDevice) getFilesystemInfo(ctx android.ModuleContext, depName str } return fsInfo } + +func (a *androidDevice) setVbmetaPhonyTargets(ctx android.ModuleContext) { + if !proptools.Bool(a.deviceProps.Main_device) { + return + } + + if !ctx.Config().KatiEnabled() { + for _, vbmetaPartitionName := range a.partitionProps.Vbmeta_partitions { + img := ctx.GetDirectDepProxyWithTag(vbmetaPartitionName, filesystemDepTag) + if provider, ok := android.OtherModuleProvider(ctx, img, vbmetaPartitionProvider); ok { + // make generates `vbmetasystemimage` phony target instead of `vbmeta_systemimage` phony target. + partitionName := strings.ReplaceAll(provider.Name, "_", "") + ctx.Phony(fmt.Sprintf("%simage", partitionName), provider.Output) + } + } + } +} |