Commit Graph

8135 Commits

Author SHA1 Message Date
Zi Wang
5aec0afe5e Merge "Use OutputFilesProvider on some android test modules" into main 2024-07-02 18:50:45 +00:00
mrziwang
01715cac38 Use OutputFilesProvider on some android test modules
In the context of incremental soong, the output files
inter-module-communication will be through OutputFilesProvider.
The OutputFileProducer interface will be deprecated.

Test: CI
Bug: 339477385
Change-Id: I036323d390ec0a60911deba271a79f37c9c51fda
2024-07-01 11:50:18 -07:00
mrziwang
9429e03996 Use OutputFilesProvider on buildinfo_prop
In the context of incremental soong, the output files
inter-module-communication will be through OutputFilesProvider.
The OutputFileProducer interface will be deprecated.

Test: CI
Bug: 339477385
Change-Id: I0875ed4be72954187722276b10949a2ad4e66dcf
2024-07-01 11:42:28 -07:00
Treehugger Robot
6a66b08bad Merge "Revert "Cleanup old code"" into main 2024-06-28 16:09:47 +00:00
LaMont Jones
d4a6cc6d52 Revert "Cleanup old code"
This reverts commit 51ab5b6d50.

Reason for revert: Revert while investigating b/349713034

Bug: 349713034
Change-Id: I4e0304225364c7c535a04108b65953a32742c1da
2024-06-28 14:31:35 +00:00
Treehugger Robot
ab352c516a Merge "Add tests for selects with bindings" into main 2024-06-28 06:12:36 +00:00
Cole Faust
b7bd9a17ec Merge "Update selects_test for selects with deferred expressions" into main 2024-06-27 22:33:08 +00:00
Zi Wang
9b21596db4 Revert "Use OutputFilesProvider on buildinfo_prop and some android test modules"
This reverts commit 89e4ff60d3.

Reason for revert: build breakage on aosp-main/mainline_modules_sdks-trunk_staging-userdebug

Change-Id: I5ddac59f66a0e7a96fab39647d406499e3875f6a
2024-06-27 21:51:33 +00:00
mrziwang
89e4ff60d3 Use OutputFilesProvider on buildinfo_prop and some android test modules
In the context of incremental soong, the output files
inter-module-communication will be through OutputFilesProvider.
The OutputFileProducer interface will be deprecated.

Test: CI
Bug: 339477385
Change-Id: Ic0c1217f3651b14ae3ac58a0ce4a25e8ab8d4dda
2024-06-27 12:53:08 -07:00
Cole Faust
165a05b234 Add tests for selects with bindings
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I43f10ce21d777e94839c695cb7ca8dcbb968d1c3
2024-06-27 11:02:35 -07:00
Cole Faust
ba48366969 Update selects_test for selects with deferred expressions
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I18257ff586fb31d4e0b012a249726a925832cdac
2024-06-27 11:01:56 -07:00
Inseob Kim
f58d7efa29 Merge "Revert "Use hashed subdir for soong_config modules"" into main 2024-06-27 04:30:30 +00:00
LaMont Jones
51ab5b6d50 Cleanup old code
This code is no longer needed.

Bug: 349410287
Bug: 311155208
Bug: 308625757
Test: manual, TH
Change-Id: Ib3121e5aaeb2d41de5fa89262a36d69803355c50
2024-06-26 14:34:50 -07:00
mrziwang
abdb293492 Update outputFilesForModuleFromProvider
This CL includes following changes:
1. Added the ability to differentiate the cases that module never
   sets OutputFilesProvider and that module sets the provider with
   a nil value.
2. Updated GenerateTaggedDistFiles to use outputFilesForModuleFromProvider.
3. Updated on cc module to use OutputFilesProvider.

Test: CI
Bug: 339477385
Change-Id: Ib5663a947315f6a90a81b7f073cf8dd22fbb1e05
2024-06-25 15:37:09 -07:00
Treehugger Robot
51fc67bd20 Merge "Cleanup more bazel code" into main 2024-06-25 19:24:12 +00:00
Cole Faust
487b144fe0 Cleanup more bazel code
Bug: 315353489
Test: m nothing --no-skip-soong-tests
Change-Id: I6c6b4fcd559f4a45b1a96c70cbb5d6d1a615ccff
2024-06-25 11:02:38 -07:00
Inseob Kim
b7e9f5f035 Revert "Use hashed subdir for soong_config modules"
This reverts commit 81b00a8db7.

Reason for revert:
* select() will supersede Soong config modules.
* A tiny change can make hundreds of gigabytes rebuilt.
* Hashed out/ directories are not cleaned.
* Even without this trace, AB build time is fast enough, thanks to
  product-specific ninja files and so on.

Bug: 348548855
Test: m --no-skip-soong-tests
Change-Id: If9a97df1e161a9ef0fb1b801f9e129b71b11d1ac
2024-06-25 17:39:52 +09:00
Wei Li
a1aa297518 Export Soong modules and build a database from metadata from Make and Soong.
Bug: 324465531
Test: CIs
Test: m compliance-metadata.db
Change-Id: Ia1c9ab0ae874dd47969555ddbfb93405b57a651f
2024-06-24 17:20:59 -07:00
Zi Wang
b651aaaf9e Merge "Add OutputFilesProvider support for singleton" into main 2024-06-24 22:13:42 +00:00
mrziwang
0cbd3b0e79 Add OutputFilesProvider support for singleton
This CL also changes to use OutputFilesProvider on rust module, which
has singleton involved.

Test: CI
Bug: 339477385
Bug: 348494466
Change-Id: Idc5c0fb9f8425f09184d5b73531ee3052e5a076c
2024-06-24 11:55:47 -07:00
Jihoon Kang
79b0eef5a1 Merge "Move vendor and product variant generation logic from cc package to android package" into main 2024-06-21 18:16:31 +00:00
Jihoon Kang
47e918450f Move vendor and product variant generation logic from cc package to android package
Although image variation generation logic has moved out of cc package to
the android package, the vendor and product partition variants
generation logic is still specific to cc package. Therefore, in order to
create a product or vendor variant, they have to specified in
`ExtraImageVariants`. In order to avoid such confusing behaviors and
enforce modules to specify product and vendor installation rules, this
change moves the vendor and product variant generation logic to
android.ImageInterface.

Test: m nothing --no-skip-soong-tests && diff contents of out/soong/Android-{product}.mk
Change-Id: I9e14f3739d9dea94167ee6a91e92b2f942055aba
2024-06-21 07:45:09 +00:00
Cole Faust
1c74ac54a8 Merge "Allow soong config variables to be boolean-typed" into main 2024-06-21 01:21:25 +00:00
Cole Faust
46f6e2f1aa Allow soong config variables to be boolean-typed
So that you can use `true` instead of `"true"` in select expressions.

Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I950bd8e04f8fab5187ea5075514d476227943f33
2024-06-20 14:59:10 -07:00
mrziwang
4295359c12 Allow module gets its own output files using non-empty-string tag
Test: CI
Bug: 339477385
Change-Id: I332c377ad59d9355cb44ee18b85a56e37580e7b6
2024-06-20 10:02:26 -07:00
Treehugger Robot
c0cbb491d5 Merge "Use BaseApexName to generate permission file for sdk library" into main 2024-06-19 04:29:18 +00:00
Spandan Das
33bbeb243f Use BaseApexName to generate permission file for sdk library
Permissions of apex variants of shared java sdk libraries should use the
base apex name (com.android.foo) and not the override apex name
(com.mycompany.android.foo). The override apex name started being used
when separate variants were created for override apex transitive deps
(https://r.android.com/3083813)

Bug: 346486531
Test: m com.google.android.ipsec
Test: verified that
out/target/product/<product>/apex/com.google.android.ipsec/etc/permissions/android.net.ipsec.ike.xml
contains /apex/com.androiqd.ipsec/javalib/android.net.ipsec.ike.jar #
previously it contained com.google.android.ipsec

Test: https://android-build.corp.google.com/builds/abtd/run/L59900030004679761
Change-Id: I863170d78efa017bef5e4ece3b1471f74ba84b0c
2024-06-19 04:27:43 +00:00
Inseob Kim
9687618816 Merge "Add build_prop soong module" into main 2024-06-19 03:26:37 +00:00
Yu Liu
88f4e331cc Merge "Experimental code to support build action caching." into main 2024-06-19 01:57:12 +00:00
Inseob Kim
2da72af53a Add build_prop soong module
build_prop is a soong module generating {partition}/build.prop. It's
ported from build/make/core/sysprop.mk and will replace sysprop.mk in
the future. Currently used only by Android.bp cuttlefish system image.

Bug: 322090587
Bug: 346214958
Test: compare system/build.prop and aosp_cf_x86_64_system-build.prop for
      eng / user / userdebug
Change-Id: Iad76139fe86ec4f582218c185aa15baeacaa38dc
2024-06-19 10:42:07 +09:00
LaMont Jones
21d04d99c8 Add RELEASE_ACONFIG_EXTRA_RELEASE_CONFIGS
This build flag causes us to create aconfig flag artifacts for the
given extra release configs.

Bug: 298444886
Test: manual
Change-Id: I10148f6e7318b0477438ed1d8baafbf4dc594c90
2024-06-18 17:16:42 -07:00
Yu Liu
fa29764f9f Experimental code to support build action caching.
Bug: 335718784
Test: build locally
Change-Id: Icc1f1fb15f9fe305e95dd51e2e7aff1e9cbf340c
2024-06-19 00:09:32 +00:00
Cole Faust
ecdb25e674 Merge "Make required a configurable property" into main 2024-06-18 18:05:41 +00:00
Inseob Kim
25cdff6815 Merge changes from topic "product_config_module" into main
* changes:
  Use product_config from buildinfo_prop module
  Add product_config module
2024-06-18 03:57:41 +00:00
Inseob Kim
1d9148244f Use product_config from buildinfo_prop module
Many parameters can be migrated to product_config module. This is also a
PoC, which is helpful for future build.prop migration.

Bug: 346214955
Test: compare buildinfo.prop before and after
Change-Id: I751220b3a09583e469ae721c0e49a1909b6428d7
2024-06-18 09:56:53 +09:00
Inseob Kim
58c802f8e3 Add product_config module
product_config module will export productVariables struct (defined in
android/variable.go). Other modules can depend on product_Config module
to read product variables, without needing to update Soong.

Bug: 346214955
Test: build and see output of product_config module
Change-Id: I06e1d2716dc2a8b90984bb46c5fc901cd1ca5020
2024-06-18 09:56:45 +09:00
Cole Faust
43ddd08bd2 Make required a configurable property
So that users can use select statements with it.

Fixes: 347605145
Bug: 342006386
Test: m nothing --no-skip-soong-tests
Change-Id: Ica0ca6d1725b000b3748c0293e5a9f9b38ed87f9
2024-06-17 12:32:40 -07:00
Xin Li
f9fc13dd78 Merge "Merge Android 14 QPR3 to AOSP main" into main 2024-06-17 18:51:33 +00:00
Cole Faust
ba80e4c16b Merge "Remove saveToBazelConfigFile" into main 2024-06-14 23:23:58 +00:00
Zi Wang
f222db3d01 Merge "Add another way for TestingModule to get its output files" into main 2024-06-14 22:14:59 +00:00
Cole Faust
ad18649d29 Remove saveToBazelConfigFile
Bug: 315353489
Test: Presubmits
Change-Id: I781f0fd9d0241b9742b0b84f5df4088e7bba16c7
2024-06-14 14:13:54 -07:00
Treehugger Robot
dcde7e260c Merge "Add test for AppendSimpleValue" into main 2024-06-14 18:28:03 +00:00
mrziwang
e81e77a2b1 Add another way for TestingModule to get its output files
In OutputFiles method, TestingModule is able to get its own output
files by reading its module base property. If the TestingModule
never updates its outputFiles property, it will fall back to use the OutputFileProducer interface.

Only empty string tag case is added in this CL since all the testing modules are getting the output files using empty string tag.

Test: CI
Bug: 339477385
Change-Id: I3009ae45d8d909653e3b6b222bced9ccabbaede7
2024-06-14 11:09:54 -07:00
Treehugger Robot
d3ba5a3f6e Merge "Cleanup ImageInterface.SetImageVariation" into main am: 77858402e4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3131759

Change-Id: I4504623d0978356eb7f3b526d01ffb99abd0da12
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-14 04:29:12 +00:00
Cole Faust
fee6fdea22 Add test for AppendSimpleValue
Bug: 346922064
Test: m nothing --no-skip-soong-tests
Change-Id: I18d82cf5ca20b1c9fea9751fee742577b5173374
2024-06-13 15:35:17 -07:00
Jihoon Kang
7583e835f7 Cleanup ImageInterface.SetImageVariation
This change modifies the interface method of
ImageInterface.SetImageVariation so that the image variation is set
directly at the caller image variation module, instead of passing the
pointer to set the image variation.

Test: m nothing
Change-Id: I8eadb5149365530243e19a8cd37eb49d335fbeef
2024-06-13 21:56:23 +00:00
Jihoon Kang
871393aa37 Merge "Remove exportable modules when generating snapshots targeting older platform" into main am: 0030148fcb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3119791

Change-Id: I12200b4516475e10351eb8d7703370eff96e2c4f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-10 21:00:58 +00:00
Jihoon Kang
0030148fcb Merge "Remove exportable modules when generating snapshots targeting older platform" into main 2024-06-10 20:46:09 +00:00
Jihoon Kang
98aa8fa840 Remove exportable modules when generating snapshots targeting older platform
This change modifies the contents of the generated Android.bp files so
that when generating a snapshot on a older platform, the "exportable"
modules are removed from the bp files, as the "exportable" modules are
first introduced in V and do not exist in older platforms.

Bug: 345162614
Test: ABTD
Change-Id: I2dba51b98deec7805bd796647a66981f237c55a9
2024-06-10 18:12:35 +00:00
Treehugger Robot
75f22c3f9c Merge "Make buildinfo_prop a regular module" into main am: 63de06c142
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3118355

Change-Id: I75bf5b9b60de08fad3fb298be985b71d5c6578e2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-07 18:56:31 +00:00