Commit Graph

83239 Commits

Author SHA1 Message Date
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
Inseob Kim
f58d7efa29 Merge "Revert "Use hashed subdir for soong_config modules"" into main 2024-06-27 04:30:30 +00:00
Treehugger Robot
8eecb134e3 Merge "Cleanup old code" into main 2024-06-26 23:07:12 +00:00
Aditya Kumar
2020ac59ea Merge "Remove -mllvm -jump-is-expensive=false from riscv64_device.go" into main 2024-06-26 22:49:44 +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
Treehugger Robot
38a97b2c47 Merge "Revert "Enforce that output files are created in primary ninja execution"" into main 2024-06-26 20:25:07 +00:00
Aditya Kumar
189d5c8283 Remove -mllvm -jump-is-expensive=false from riscv64_device.go
Latest toolchain has this by default.

Change-Id: I920146aee8d5512377bae81b2cba77b7f56b040a
Related: https://github.com/google/android-riscv64/issues/124
Bug: 330200010
2024-06-26 18:55:22 +00:00
Colin Cross
e5ef3e0ba0 Merge "Make cmake_snapshot output reproducible" into main 2024-06-26 18:09:04 +00:00
Zi Wang
bf0d9120db Merge "Update outputFilesForModuleFromProvider" into main 2024-06-26 17:28:11 +00:00
Dmitrii Ishcheikin
aaec2d5e93 Merge "Add imgdiag ART APEX" into main 2024-06-26 16:54:13 +00:00
Santiago Aboy Solanes
fddc3dc8d3 Revert "Enforce that output files are created in primary ninja execution"
This reverts commit 8d8253f525.

Reason for revert: Breaks ART gtests e.g. https://android-build.corp.google.com/build_explorer/build_details/12016159/art-gtest/

Change-Id: Ie8e1a28c7d0a21ee6727954127a6ab00ed00e781
2024-06-26 14:52:52 +00:00
Treehugger Robot
8884854267 Merge "Fix a bug that BUILD_VERSION_TAGS is ignored" into main 2024-06-26 02:47:00 +00:00
Treehugger Robot
e8d5c8a5b2 Merge "Enforce that output files are created in primary ninja execution" into main 2024-06-26 02:18:55 +00:00
Spandan Das
94df13d902 Merge "Enforce that tests in MTS specify a min_sdk_version" into main 2024-06-26 02:16:05 +00:00
Inseob Kim
5a994c7e9c Fix a bug that BUILD_VERSION_TAGS is ignored
Bug: 349046347
Test: set BUILD_VERSION_TAGS and build
Change-Id: Ib981d917435d23139ac0c5b0aba5b6893539d200
2024-06-26 10:30:21 +09:00
Treehugger Robot
9c067f62d0 Merge "Remove the unused apiFileTag" into main 2024-06-26 00:10:52 +00:00
Treehugger Robot
c33984d476 Merge "Add unit test for sdk impl lib's lint report propagation to the apex" into main 2024-06-25 23:34:11 +00:00
Jihoon Kang
00d405099c Merge "Modify extractStubsSourceInfoFromDep to respect RELEASE_HIDDEN_API_EXPORTABLE_STUBS flag" into main 2024-06-25 23:00:00 +00:00
Colin Cross
7de1db7f2c Make cmake_snapshot output reproducible
Sort the outputs from cmake_snapshot to make the build.ninja file
reproducible.

Test: cmake_snapshot_test.go
Flag: EXEMPT refactor
Change-Id: I621e0dc9da7ad4c94234e0811f64d347024e3295
2024-06-25 22:55:59 +00:00
Spandan Das
b041087f58 Enforce that tests in MTS specify a min_sdk_version
Specifying min_sdk_version ensures backwards compatibility. There are
some existing violations, and those have been baseline'd using an
allowlist.

Bug: 156476221
Test: m nothing
Change-Id: I55098206da8ec5cfa0a9f5e7b41c9b8dedbdcbd2
2024-06-25 22:47:49 +00:00
Jihoon Kang
0ef9f7740a Remove the unused apiFileTag
This change removes the unused `apiScope.apiFileTag` and its
`depInfoExtractor` function.

Test: m nothing --no-skip-soong-tests
Change-Id: I640bee3a188be03742559e31ce4fbc4475dbd3ba
2024-06-25 22:47:35 +00: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
Jihoon Kang
2a26b1326b Modify extractStubsSourceInfoFromDep to respect RELEASE_HIDDEN_API_EXPORTABLE_STUBS flag
Currently, extractStubsSourceInfoFromDep always return the "everything"
stub artifacts. This change modifies such behavior so that the
"exportable" artifacts are set when
`RELEASE_HIDDEN_API_EXPORTABLE_STUBS` build flag is set to true.

Test: m nothing --no-skip-soong-tests
Bug: 348370901

Change-Id: I1cf0ff7a63c8a580c3553a817ca303d6e8734a2a
2024-06-25 22:24:42 +00:00
Treehugger Robot
94a6824c99 Merge "Utilize linter artifacts of the impl library in the top level sdk library" into main 2024-06-25 22:18:51 +00:00
Jihoon Kang
784c005241 Add unit test for sdk impl lib's lint report propagation to the apex
This change adds a unit test for https://r.android.com/3146677

Test: m nothing --no-skip-soong-tests
Bug: 339267677
Change-Id: I48e1c2681aaa153b32b209f05a93c501af5d1bac
2024-06-25 22:15:39 +00:00
Jihoon Kang
629e2a3e9a Utilize linter artifacts of the impl library in the top level sdk library
When creating the lint reports for the mainline modules, the apex
build rule collects the lint artifacts from its dependencies. The
artifacts for Java modules are collected using the two methods:
- `JacocoReportClassesFile()`
- `LintDepSets()`

https://r.android.com/3079425 has removed the compilation actions from
the top level sdk library, but given that BCPF and SSCPF still list the
top level sdk library as the dependency, the lint artifacts are
collected from the top level sdk library. The aforementioned change
resolved this discrepancy by the top level sdk library referencing the
build artifacts of the implementation library.

However, `LintDepSet()` was mistakenly left out, leading to the lint
xml file of the sdk library not being correctly included in the apex
lint artifacts. This change fixes such discrepancy by the top level sdk
library correctly referencing the lint dep set output of the
implementation library.

Bug: 339267677
Test: TARGET_RELEASE=ap3a TARGET_BUILD_VARIANT=userdebug
PRODUCT=mainline_modules_x86_64 MODULE_RELEASED_PLATFORM=U
COVERAGE_MODULES="configinfrastructure"
./vendor/google/build/build_unbundled_coverage_mainline_module.sh \
inspect ninja command and verify that the lint xml files of the impl lib
is included in com.android.configinfrastructure module lint-report-xml.zip

Change-Id: I5c397c8782bad3bc21524f9ef7991cfdda4cdda1
2024-06-25 20:47:49 +00: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
Joe Onorato
c870a75fe1 Merge "RBE is only supported when the host is linux, so don't try on others." into main 2024-06-25 17:58:35 +00: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
af64ca9322 Merge "Export Soong modules and build a database from metadata from Make and Soong." into main 2024-06-25 04:19:46 +00:00
Justin Yun
8a7978cb16 Call InstallFile to install files in soong built filesystem
platform_compat_config modules install files in `system/etc`, but the
files are missing from the soong-defined system image.
Calling InstallFile solves the problem.

Bug: 339133685
Test: m aosp_cf_system_x86_64
Change-Id: I46d5e75424a85108d0b478e4f0143f16ee26b53e
2024-06-25 09:40:30 +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
Joe Onorato
86f50e752e RBE is only supported when the host is linux, so don't try on others.
Bug: 343589123
Test: m and verify
Change-Id: I872d36a40c980f58c5de2598c3fb5dcfcadabf4f
2024-06-24 14:28:25 -07:00
Spandan Das
79035fa842 Merge "Declare the implicit outputs for r8RE" into main 2024-06-24 20:18:16 +00:00
Spandan Das
8d8253f525 Enforce that output files are created in primary ninja execution
Missing output files in ninja execution will be treated as errors.
Products can bypass this using the newly introduced
BUILD_BROKEN_MISSING_OUTPUTS flag.

Test: m nothing # verified missingoutfile appears in out/soong.log
Test: checkbuild passes on presubmits

Change-Id: I4eebcd08aa57fc6ccf1688c32e0d1fe06d66ab9a
2024-06-24 19:26:45 +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
Spandan Das
d447bbbae5 Declare the implicit outputs for r8RE
The implicit outputs created by r8 (e.g. art profile) was added to the
non RE rule, but not to the RE one.

Test: Created a go/abtd run with SystemUI profile guided dexpreopt
https://android-build.corp.google.com/builds/abtd/run/L92900030004716290
Test: Verified that the .odex size of SystemUI on RE builds matches non
RE builds
https://screenshot.googleplex.com/6kLCXdBzzVWW3s8

Change-Id: Ie03a7f7896170b36ce83360eaf260cd3765a3fd7
2024-06-24 18:43:27 +00: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
Roland Levillain
cd2604b0eb Update Blueprint link in README.md to point to Android's version.
Change-Id: If6226e74f2d53658fceb8e5a4083745d2ecea140
2024-06-21 16:24:01 +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
Treehugger Robot
14a77d3a7f Merge "Minor cc_cmake_snapshot touch-ups" into main 2024-06-20 23:58:00 +00:00
Tomasz Wasilczyk
2493fcc7b5 Minor cc_cmake_snapshot touch-ups
- Partial support for arm64 hosts (no prebuilts yet)
- Replace incorrect template function use MATCHES with STREQUAL
- Add more ignored system libs
- No need to explicitly add libc++ prebuilt

Bug: 285204695
Test: m binder_sdk
Change-Id: Id6508cc9f9ee6328c95c2821c325629f84eda138
2024-06-20 15:30:09 -07: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
Zi Wang
fe658ac53a Merge "Allow module gets its own output files using non-empty-string tag" into main 2024-06-20 21:07:52 +00:00
Treehugger Robot
e28ee78351 Merge "Add --tag argument to soongdbg" into main 2024-06-20 19:10:34 +00:00
Zi Wang
66c8090a3a Merge "Use OutputFilesProvider on python_binary_host" into main 2024-06-20 18:20:17 +00:00
Zi Wang
c48c1b5721 Merge "ExportableModule no longer implements OutputFileProducer" into main 2024-06-20 18:09:24 +00:00