summaryrefslogtreecommitdiff
path: root/android/module_proxy.go
AgeCommit message (Collapse)Author
2025-03-19Clear as much of cc.Module as possible after GenerateBuildActions Colin Cross
Reduce peak memory usage by adding a CleanupAfterBuildActions method that is called at the end GenerateBuidlActions, nad use it to clear as much of cc.Module as possible. This is a temporary measure, eventually the entire module should be released by blueprint once all interactions are performed through providers. Test: all soong tests pass Change-Id: Idc3390ae4506ff2eef3231691e1de7446067961a
2025-03-18Generic configuration for generic system modules. Justin Yun
Config object includes a copy of itself for the generic configuration. The generic configuration replaces any product-specific configurations with the generic information. When a module context gets Config() object, it returns the generic configuration if the module sets use_generic_config to true. Otherwise, Config() returns the original config object as before. By adding `generic:"<value>"` annotation to the product variable, the variables will be initialized with the <value> for the generic configs. If the <value> is "unset", the variable will be unset. The generic modules can be included in the shared system image to be installed in multiple targets. Bug: 361816274 Test: m nothing --no-skip-soong-tests Change-Id: I15e4ade17ad1a8969f8e0e91d994b60545dc412f
2025-01-23Clean up some of the code around effective license. Yu Liu
Bug: 377723687 Test: Unit tests and compare the ninja and mk files generated. Change-Id: I01f0407e4eb6050b556bfebc1cc4d1abd29ad4a6
2025-01-15Convert dex2oatPathFromDep to use ModuleProxy. Yu Liu
Bug: 377723687 Test: Unit tests and compare the ninja and mk files generated. Change-Id: I99ffe88179991da8e5963605bf76666c8945d290
2024-12-10Convert checkApexAvailability to use ModuleProxy. Yu Liu
Bug: 377723687 Test: Unit tests and compare the ninja and mk files generated. Change-Id: I7582db8e22e94d0a9db7715a76bb6ed34c166a4e
2024-11-27Reland^2 : Do not allow vintf_fragments for modules installed in the filesystem" Kiyoung Kim
Soong defined filesystem does not have any logic to handle vintf_fragments items, so those item should be used with vintf_fragment modules instead. This change checks if there is any module installed in the Soong defined filesystem and defines vintf_fragments property, and raises error for those modules. Bug: 322089980 Change-Id: Idd4c406c90571a07ff2cabd5629073d338af795c Test: There is no diff between vintf manifests of generic_system_image and aosp_cf_x86_64_phone
2024-11-26Revert "Reland: Do not allow vintf_fragments for modules installed in the ↵ Kiyoung Kim
filesystem" This reverts commit df17e7b6c3c7d26efab1ec9fbcffdf16c325a229. Reason for revert: Build failure from git_main/seahawk target Change-Id: I320864ae76101a5fd5e3b4ca6daa11bad3548ae7
2024-11-20Reland: Do not allow vintf_fragments for modules installed in the filesystem Kiyoung Kim
Soong defined filesystem does not have any logic to handle vintf_fragments items, so those item should be used with vintf_fragment modules instead. This change checks if there is any module installed in the Soong defined filesystem and defines vintf_fragments property, and raises error for those modules. Bug: 322089980 Change-Id: I6b21da631bb2f807afe9d88a1a8e892fde23509a Test: There is no diff between vintf manifests of generic_system_image and aosp_cf_x86_64_phone
2024-11-19Revert "Do not allow vintf_fragments for modules installed in the filesystem" Chaitanya Cheemala (xWF)
This reverts commit d3d89ede5d31c6175915dc4516bf6cd5cb3cd350. Reason for revert: Likely culprit for b/379811732 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted. Change-Id: I9d70e7ae4a7c9663d6bc25f0291df615dfc6d58b
2024-11-14Do not allow vintf_fragments for modules installed in the filesystem Kiyoung Kim
Soong defined filesystem does not have any logic to handle vintf_fragments items, so those item should be used with vintf_fragment modules instead. This change checks if there is any module installed in the Soong defined filesystem and defines vintf_fragments property, and raises error for those modules. Bug: 322089980 Test: There is no diff between vintf manifests of generic_system_image and aosp_cf_x86_64_phone Change-Id: Ia03636e5d2975ab451650f70f66b46d7cd53e43a
2024-11-06Add *_dlkm properties to android.ModuleBase Spandan Das
To aid mk->bp migration of (system|vendor|odm)_dlkm.img files, https://r.android.com/3331335 introduced properties to prebuilt_etc to allow installation of soong etc modules in these partitions. The dlkm.img files package .ko files and build.prop files. The current plan is to use `prebuilt_kernel_modules` soong module type to package the .ko files and create additional modules.* metadata files. To aid this migration, this CL moves the _dlkm_specific properties to android.ModuleBase and updates `modulePartition` to return the corresponding dlkm partition. Bug: 377562851 Test: m nothing --no-skip-soong-tests Test: m installclean && m fs_config_files_system_dlkm verified that $PRODUCT_OUT/system_dlkm/etc/fs_config_files exists Change-Id: Ia398a85a9a2b81532871a5ab88454317039f44b9
2024-10-31Distinguish HideFromMake from SkipInstall Spandan Das
Invoking HideFromMake today would also make the module uninstallable. This was a safe assumption since the packaging sytem was in build/make - if a module is not visible to make, it is also uninstallable. With the advent of soong packaging system, this might not always be true. This CL disentangles SkipInstall from HideFromMake. This CL also sets SkipInstall on modules where the installation rules should not be emitted, e.g. to prevent duplicate installation rules between platform and apex variants of libraries Test: m nothing --no-skip-soong-tests Test: no diff in aosp_cf_x86_64_phone's system file_list.txt Change-Id: I80cdd60d2ebdba22fd37e748eb00242cc412bda1
2024-10-25Remove overriden modules from deps of autogenerated filesystem modules Spandan Das
`android_filesystem` supports overrides, but only if the module is overriden by another module in its deps. For AOSP CF, the autogenerated system.img contains an additional /bin/charger. The Kati system.img does not contain this file because it is overriden by a module which is installed in /vendor. This CL updates the autogen mutators to remove a module from deps if it is overriden by another module in PRODUCT_PACKAGES or by a transitve required module dependency of PRODUCT_PACKAGES Test: go test ./fsgen Test: verified that /bin/charger no longer appears in diff_test of system for aosp_cf_x86_64 Change-Id: Idafa1db07a42519ba3c441f851480b1c6faa63b8 Change-Id: If09050a6fd110d07d975595644dba85c740027e2
2024-10-17Revert^4 "Set the appropriate deps property for the soong generated fs modules" Jihoon Kang
This change relands https://r.android.com/3304859. Test: m nothing --no-skip-soong-tests && ABTD Bug: 372771060 Change-Id: Ie798fee2a71c14d5e8ac5e2433394bbb090cd595
2024-10-07Add ModuleProxy that should be used when visiting deps. Yu Liu
Bug: 358427516 Test: local manual tests to compare the generated mk and ninja files. Change-Id: I2bbe2e679e404a46947f3895943dad749be38446