summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Cole Faust <colefaust@google.com> 2025-03-05 12:53:35 -0800
committer Cole Faust <colefaust@google.com> 2025-03-06 10:33:51 -0800
commite24abbf548b0f3e19d9833ee4995df9b3e6b8ffd (patch)
tree2e427b26003a8dc5096151d8ca571851aca972cf
parent30c64f436597dace49ed00c668a6a70a65a860cc (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.bp22
-rw-r--r--fsgen/filesystem_creator.go14
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 {