This is to support installing to real root "/", not a root of partition
(e.g. "/system/").
Bug: 351258461
Test: build
Change-Id: I56993aceddfd988d2d10040f50f838b89c9bdc67
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: Iaf0b039b17d34e1a696f2c87df2f0db39307fc6d
Rust modules no longer have static variants after
I2925f67f6dc9329dae3dcccafb8560900ac8a6fc, remove the VariantIsStatic
field.
Bug: 254469782
Test: m
Test: m blueprint_tests
Change-Id: Ic63412a27c3a09dec43c4a9064a3e1f4181147db
IncomingApexTransition normally returns "" for modules that have
no apex variation so that apex variations can depend on non-apex
variations, for example for NDK libraries.
addDependencyOntoApexModulePair uses OtherModuleDependencyVariantExists
to decide whether to add a dependency on a module in an apex. If
IncomingApexTransition returns "" then OtherModuleDependencyVariantExists
will always return true. Return the incoming variation when addding
dependencies after the apex transition mutator has already run.
Bug: 319288033
Flag: EXEMPT bugfix
Test: all soong tests pass with later patches applied
Change-Id: Iec40c3be2ed04dca16a9fa6fa0a1c31056b536a8
Add an IsAddingDependency method to IncomingTransitionContext that
returns true if IncomingTransition is called after the transition
has already won while adding a new dependency. This will be used
as part of the transition mutators to support an apex use case where
incoming dependencies during the initial apex mutator need to be
rewritten onto the platform variant for modules that don't support
the apex, but a later call to OtherModuleDependencyVariantExists
must not rewrite the requested apex variation onto the platform
variant.
This should be used sparingly, all uses will have to be removed in
order to support creating variants on demand.
Bug: 319288033
Test: TestIsAddingDependency
Flag: EXEMPT refactor
Change-Id: Ib8e419d35ff8f7cbff9667c1cd40d05ccfacab8b
Setting sanitize and stl to nil in a mutator isn't valid, if any other
mutator creates a variant then the factory method will be called again
to create the new variants and will reset sanitize and stl to non-nil.
Add a property to sanitize and check it everywhere that checked for
sanitize != nil, and set the Stl property.
Bug: 319288033
Test: all soong tests pass
Flag: EXEMPT refactor
Change-Id: If99d5fa0f088ee4a73cc7dccdab4268618a6009f
This CL modifies Soong to pass the `--cfg soong` flag to the rustdoc
tool.
Test: m rustdoc
Bug: 303116432
Change-Id: I089edebe3c0450b9f9d4f97404bafb7e90ed1f8a
The output files from a module is obtained from OutputFilesProvider
instead of from OutputFileProducer, which is going to be
deprecated.
Test: CI
Bug: 339477385
Change-Id: I2a5488653d9ba05c7ebd5a0b452e75fcc676c893
The `--hide-package` option that this uses is being removed from
Metalava. The same functionality can more easily be achieved by simply
creating a `package.html` or preferably `package-info.java` that
contains `@hide` in their `<body>` tag or Javadoc respectively.
Bug: 351991463
Test: m checkapi
Change-Id: If7ea2449d1bddc0df460c285bf7959dbf9409b04
This reverts commit b4f05f1a05.
Reason for revert: Likely culprit for b/352459464 - 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: Iaea4511402b2818904f84e512f4f77487d0efafc
This reverts commit b4f05f1a05.
Reason for revert: <Potential culprit for b/352458178 - 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: Idf6c69296c6537e8011c2ce5fcbdf45a29154acf
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
This reverts commit cbf426fa50.
Reason for revert: Droidmonitor triggered revert due to build breakage in b/352395522. Will be verifying through ABTD before submission.
Change-Id: I214aa6e2a707ed22aac901db988a33affc37e269
If `SOONG_USE_N2=true` is set in the environment, then n2 is used in
place of ninja. Some ninja features are not available in n2 at this
time, but this enables bringup efforts to happen in parallel.
Bug: 352368206
Test: manual
Change-Id: I8455cb24eb640a4651782ee76e48a7d3a9932b93
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: I3c9f0b766325dd490bc903dc65259c3953d34606
Generally, the `root` directories for `prebuilt_etc` and
`prebuilt_root` are <partitions>. And <partitions> default to false
for InstallInRoot(), they always create a "system" subdirectory.
(See android/paths.go:modulePartition())
However, avb keys like `q-developer-gsi.avbpubkey` are installed by
default in the `avb` subdirectory under the `root directory` of the
<partition>. Therefore, it is necessary to create `prebuilt_avb` in
Soong and force the installation directory to be the `avb` subdirectory
under the `root directory` of the <partition> to meet the requirements.
Bug: 347636127
Test: go test -run TestPrebuiltAvbInstallDirPath
Change-Id: I0ee08492da9a96a567700a7285c527b280dcd5db
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: I8ea7463cfc3881d800255aa99147897eeba85b04
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: I51ccf59f97cb8a790642cb4463c479feaf18058a
Previously, the jni_libs property was ignored when packaging
robolectric-tests.zip, meaning that tests sometimes couldn't find native
libraries. This change causes any native libs that tests use to be
written alongside the .jar/.apk for Robolectric tests.
99% of this code is just stolen from the Ravenwood tests, as they work
in this area. In short though, any native libs will be built for the
host arch and put in the correct place.
Tests are a little lacking (just testing the new functionality), but I'm
not 100% sure how to test the rest of the Robolectric file.
Bug: 340801983
Test: Manually verified, `go test` in java/
Change-Id: I4ef28b1cbc4675fc329dc8fcab06d055d6538e60
Add an option to override defaultManifestVersion using environment
variable. With this environment variable, the mainline developer will be able to locally customize the app version to higher version and install it to target devices. This is also helpful as a workaround to adjust app/apex version for coverage build (e.g. 3520 to 3500) and allow the installation of app/apex from mainline release branch (e.g. 3508) onto it. This functionality already existed for apex, so we are extending to the app.
Test: 347735412
Bug: 350986287
Bug: 347735412
Test: OVERRIDE_APEX_MANIFEST_DEFAULT_VERSION=990090000 m
Test: adb shell pm list packages --show-versioncode
Change-Id: I58259fe781ca121ba4067f308f1744d80c1c2d48
Some linux environments export LEX and this variable must be unset to
ensure Soong and Make LEX values match.
Change-Id: I8ff2b62a49e0108575ff88b1a88a83d650fc3768