Commit Graph

83226 Commits

Author SHA1 Message Date
Ulya Trofimovich
d4f7316224 Revert^10 "Enable dex container (DEX v41) for the whole system"
This reverts commit 113654faca.

Reason for revert: Fixed CarLauncherTests error by providing an
    Android.bp property to disable multi-dex for a given app.

Bug: 341652226
Bug: 329907267

Test: atest CarLauncherTests -- --abi x86_64

Change-Id: Ie374161b38f0c260108b2b079ada6bdf4657aa86
2024-07-11 08:50:45 +01:00
Ulya Trafimovich
c8160584f3 Add property No_dex_container to dexProperies.
This is needed to allow individual apps disable dex container (also
known as "multi-dex") once it has been enabled globally. This property
does not translate to D8 options, it is used only in the build system.

Bug: 341652226
Bug: 329907267
Test: atest CarLauncherTests -- --abi x86_64
Change-Id: I3afda554af93dbb35bb2f4a8032ac0f5ed1df40d
2024-07-11 08:47:54 +01: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
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
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
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
Joe Onorato
250c551a26 Add --tag argument to soongdbg
The --tag argument will filter the dependencies to just the given deptags
as it walks the graph.

Test: soongdbg deps --tag android/soong/android.defaultsDependencyTag framework-minus-apex
Test: soongdbg between --tag android/soong/android.defaultsDependencyTag framework-minus-apex framework-minus-apex-defaults
Change-Id: I566477ffcd9d5e4b3e57155f65e84999e4908c79
2024-06-20 11:05:17 -07:00
Treehugger Robot
50d40cbc8c Merge "Remove an out of date comment." into main 2024-06-20 17:47:15 +00:00
Spandan Das
3ee19697d5 Add unit test for sdk library permission xml file
Followup to the fix in https://r.android.com/3137737. This adds a unit
test to check the permission xml file contents of sdk library. This file
contains the on-device location of the sdk implementation library.
override/overridden apexes are installed in the same location, so the
on-device sdklibrary path should remain consistent in the xml files of
the override and overridden apexes.

Test: go test ./apex
Bug: 346486531
Change-Id: I61adbf94bdfce8aa89de89cc90b6f564f2f7417f
2024-06-20 17:36:54 +00: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
Elliott Hughes
b3b05ba84d Remove an out of date comment.
libandroid_support no longer exists.

Change-Id: I6e66f3e0fd5c58bff3c91563a33e0afc8614488c
2024-06-20 16:34:19 +00:00
mrziwang
9e7127ff3b Use OutputFilesProvider on global_compat_config
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: I6deb4a005876848f28a5b823a712d9eea33a44e6
2024-06-20 16:20:06 +00:00
mrziwang
e7ec89e0a9 ExportableModule no longer implements OutputFileProducer
multitree.ExportableModule no longer implements
android.OutputFileProducer

In the context of incremental soong, the output files
inter-module-communication will be through OutputFilesProvider.
The OutputFileProducer interface will be deprecated.

ApiSurface and apexBundle are included in this change.

Test: CI
Bug: 339477385
Change-Id: I9247bb2dfed270a879f8bc96c6aa06803fde0150
2024-06-20 16:19:48 +00:00
Zi Wang
26faf1b321 Merge "Use OutputFilesProvider on cc_cmake_snapshot" into main 2024-06-20 16:18:16 +00:00
Zi Wang
9b3fba9b0b Merge "Use OutputFilesProvider on sdk" into main 2024-06-20 16:17:49 +00:00
Victor Chang
abf841134f Merge "Allow java, java. and jdk.* package_allowed_list.txt." into main 2024-06-20 09:32:44 +00:00
Victor Chang
9fc907642b Merge "Allow jdk.internal.event / .vm in the boot image" into main 2024-06-20 08:48:26 +00:00
Pechetty Sravani
f80ffa8b86 Merge "Revert "Enable -Wfortify-source"" into main 2024-06-19 13:15:28 +00:00