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
This change removes the unused `apiScope.apiFileTag` and its
`depInfoExtractor` function.
Test: m nothing --no-skip-soong-tests
Change-Id: I640bee3a188be03742559e31ce4fbc4475dbd3ba
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
This change adds a unit test for https://r.android.com/3146677
Test: m nothing --no-skip-soong-tests
Bug: 339267677
Change-Id: I48e1c2681aaa153b32b209f05a93c501af5d1bac
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
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
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
This CL also changes to use OutputFilesProvider on rust module, which
has singleton involved.
Test: CI
Bug: 339477385
Bug: 348494466
Change-Id: Idc5c0fb9f8425f09184d5b73531ee3052e5a076c
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
- 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
So that you can use `true` instead of `"true"` in select expressions.
Bug: 323382414
Test: m nothing --no-skip-soong-tests
Change-Id: I950bd8e04f8fab5187ea5075514d476227943f33
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
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
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
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
This reverts commit 25e9e900f1.
Reason for revert: Droidmonitor triggered revert due to build breakage in b/348142863. Will be verifying through ABTD before submission.
Change-Id: Ia18f83e9261e395cf5f76669523bd6f4a5e9ba49