diff options
author | 2025-03-05 12:53:35 -0800 | |
---|---|---|
committer | 2025-03-06 10:33:51 -0800 | |
commit | e24abbf548b0f3e19d9833ee4995df9b3e6b8ffd (patch) | |
tree | 2e427b26003a8dc5096151d8ca571851aca972cf | |
parent | 30c64f436597dace49ed00c668a6a70a65a860cc (diff) |
Dist build.prop files in soong
Equivalent to this make code:
https://cs.android.com/android/platform/superproject/main/+/main:build/make/core/main.mk;l=1605;drc=c0d44d45d83e1bcfec51f61c93ebfde8dbfc64d0
Fixes: 395161312
Test: m dist, ls out/dist/build.prop* on soong-only build
Change-Id: Ida979cf9141d43ffab8df8ff466ac0f89e742ef9
-rw-r--r-- | Android.bp | 22 | ||||
-rw-r--r-- | fsgen/filesystem_creator.go | 14 |
2 files changed, 34 insertions, 2 deletions
diff --git a/Android.bp b/Android.bp index 337545bce..713459112 100644 --- a/Android.bp +++ b/Android.bp @@ -176,6 +176,12 @@ build_prop { footer_files: [ ":applied_backported_fixes", ], + dist: { + targets: [ + "droidcore-unbundled", + "sdk", + ], + }, // Currently, only microdroid, Ravenwood, and cf system image can refer to system-build.prop visibility: [ "//build/soong/fsgen", @@ -191,6 +197,10 @@ build_prop { system_ext_specific: true, product_config: ":product_config", relative_install_path: "etc", // system_ext/etc/build.prop + dist: { + targets: ["droidcore-unbundled"], + dest: "build.prop-system_ext", + }, visibility: [ "//build/make/target/product/gsi", "//build/soong/fsgen", @@ -203,6 +213,10 @@ build_prop { product_specific: true, product_config: ":product_config", relative_install_path: "etc", // product/etc/build.prop + dist: { + targets: ["droidcore-unbundled"], + dest: "build.prop-product", + }, visibility: [ "//build/make/target/product/gsi", "//build/soong/fsgen", @@ -215,6 +229,10 @@ build_prop { device_specific: true, product_config: ":product_config", relative_install_path: "etc", // odm/etc/build.prop + dist: { + targets: ["droidcore-unbundled"], + dest: "build.prop-odm", + }, visibility: ["//build/soong/fsgen"], } @@ -251,6 +269,10 @@ build_prop { ramdisk: true, product_config: ":product_config", relative_install_path: "etc/ramdisk", // ramdisk/system/etc/ramdisk/build.prop + dist: { + targets: ["droidcore-unbundled"], + dest: "build.prop-ramdisk", + }, visibility: ["//visibility:private"], } diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go index f00e491cc..ef41f22e3 100644 --- a/fsgen/filesystem_creator.go +++ b/fsgen/filesystem_creator.go @@ -853,19 +853,29 @@ func (f *filesystemCreator) createVendorBuildProp(ctx android.LoadHookContext) { Product_config *string Android_info *string Licenses []string + Dist android.Dist }{ Name: proptools.StringPtr(generatedModuleName(ctx.Config(), "vendor-build.prop")), Vendor: proptools.BoolPtr(true), Stem: proptools.StringPtr("build.prop"), Product_config: proptools.StringPtr(":product_config"), Android_info: proptools.StringPtr(":" + generatedModuleName(ctx.Config(), "android_info.prop")), - Licenses: []string{"Android-Apache-2.0"}, + Dist: android.Dist{ + Targets: []string{"droidcore-unbundled"}, + Dest: proptools.StringPtr("build.prop-vendor"), + }, + Licenses: []string{"Android-Apache-2.0"}, } vendorBuildProp := ctx.CreateModule( android.BuildPropFactory, vendorBuildProps, ) - vendorBuildProp.HideFromMake() + // We don't want this to conflict with the make-built vendor build.prop, but unfortunately + // calling HideFromMake() prevents disting files, even in soong-only mode. So only call + // HideFromMake() on soong+make builds. + if ctx.Config().KatiEnabled() { + vendorBuildProp.HideFromMake() + } } func createRecoveryBuildProp(ctx android.LoadHookContext) string { |