Add 'use_debug_art' property to product_variable so it can be checked
from Android.bp whether ART debug APEX or ART APEX should be used.
Bug: 351698657
Test: AOSP CF eng build succeeded
Test: AOSP CF userdebug build succeeded
Change-Id: I01cd80f0d899c55828ecb05fdafdc9bb05fd8200
In preparation for switching the default of use_resource_processor
to true document how Soong compiles resources with and without
resource processor.
Bug: 294256649
Test: documentation only
Flag: EXEMPT documentation
Change-Id: I7d5f90c70925138d7c142832423103e6e6840d60
Replace rust.LibraryMutator and rust.LibstdMutator with
TransitionMutators.
Bug: 319288033
Flag: EXEMPT refactor
Test: all soong tests pass
Test: no change to build.ninja
Change-Id: Ia24a582119d39889279d7b93bac9259685153619
Flags must only be declared in one place in the tree. This change
prevents new ones from being added while we fix the bad flags already
present.
Bug: 352105274
Test: manual
Merged-In: I8c4bf2b2852685e84177500f28fe8908016082b9
Change-Id: I8c4bf2b2852685e84177500f28fe8908016082b9
Throw an error if a release config dir appears to contribute flagging
overrides to a release config without actually doing so (by having
release_configs/{name}.textproto).
Bug: None
Test: manual, TH
Change-Id: Ie71cd6898bda4b8da8d58c3e23fb89ed17ebebd1
The current logic enforces a device arch match and omits a module
altogether if none is found. To collect a more comprehensive list
of cc deps for IDE (ASfP) project setup, we introduce a fallback
that defaults to an arbitrary (first-processed) variant.
Bug: 322369312
Test: refreshmod
Change-Id: Ic5e1fd39e569735ff90b5c71ab1395632cca9af7
Reapply after fixing existing build and test failures.
This reverts commit 8e2c5c22be.
Bug: 342023558
Test: presubmit
Change-Id: I4d36bab7015f401e7580c6287b7f94ffa25c74fc
This change modifies the aconfig and aapt2 build rules to support
resources flagging in aapt2.
Implementation details:
- Modify the aconfig text rule to include flag permission in the output
text file
- Pass the `--flags-packages` argument to `aapt2 compile` command,
similar to what is currently being done in the `aapt2 link` command
Bug: 344979955
Test: m nothing --no-skip-soong-tests
Change-Id: I3b0b1fd6dcd691b7cc50ba3d081ecafd82c2c904
Summary: When build failures occur, it can be hard to find where the error message begins. We now highlight "FAILURE" in red to make it easier to see what exactly has failed in the output.
Test: execute automated tests with m nothing --no-skip-soong-tests, can also manually test with a build failure and observe red text in the output
Change-Id: Iad3b94cc1c385f0afdebdf12c44843db04ff2bdc
Signed-off-by: Cherokee Toole <cherokee@meta.com>
This allows a build rule to set the phony_output argument to ninja.
It's used to get ninja to ignore output files similar to .PHONY for
make.
It will cause the build rule to be run every time regardless of if or
when the output file was created.
Test: m android.hardware.bluetooth.audio-update-api &&
git restore bluetooth/audio/aidl/aidl_api/* &&
m android.hardware.bluetooth.audio-update-api
Bug: 353287999
Change-Id: I47b0b9e3ce2d8cb637b0102031193c81de24a680
This reverts commit d4f7316224.
Reason for revert: Likely culprit for b/353452237, b/353451623 - 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: I187b9787d0b3f39c1d67c0e5a16930bee2af951d
Previously this code was not doing anything because the template used
for rust did not use the template string that gets replaced with the
folder coming from this code. So all tests were getting deployed into
/data/local/tmp regardless of being vendor tests.
The other change in the chain adds the template string, so this code
starts working and system and vendor tests start being deployed into
different folders.
We want to keep the system test folder as before to avoid potential
problems with tests (see b/350479879#comment9).
Bug: 347370677
Test: presubmit
Change-Id: I93d5a8db3470d1603e26f9cf5d12249f29141a19
Enhance bp feature to support
"product_variables.debuggable.exclude_static_libs" and
"product_variables.debuggable.jni_libs".
Bug: 325857852
Test: lunch akita-trunk_staging-userdebug && m ConnectivityMonitor
Change-Id: Iae843af2d41ec7754812a0b89a7ebc791c58e099
Introduces a util method `HasIntersection(...)`, which returns true if
the two input lists have non-empty intersection.
Test: m nothing --no-skip-soong-tests
Bug: 338660802
Change-Id: I861a60e1973c92a773c127dfc595ad7514d7972f
This change enables the container information to be collected for Java
modules.
Test: m nothing --no-skip-soong-tests
Bug: 338660802
Change-Id: I01bf99fa274275a608601ad6248d577ae8f6dffc
This change introduces a method to collect the information of what
containers (i.e. api domain, partition, or any custom defined boundaries
of interest) the module belongs to. The method is called in
`ModuleBase.GenerateBuildActions`.
Each container objects defines the following:
- name of the container
- list of "restrictions", which are the containers that a module that
belongs to this container is not allowed to depend on. Each
"restrictions" also defines custom rules which allow bypassing the
restricted dependency. Each rules are an enum that are mapped to a
function, given that functions are not hashable and thus cannot be set
as a value in a provider.
Note that this change is a no-op, as the container information is only
collected for modules that implement the "InstallableModule" interface,
which is not implemented by any other module types in this change. This
will be utilized in the follow-up changes.
Test: m nothing --no-skip-soong-tests
Bug: 338660802
Change-Id: I9d16dfec0dcf06da464aa49ee7b23f46f1da236a
Revert submission 2695387-host-tests-Og
Reason for revert: Droidmonitor triggered revert due to build breakage in b/353353713. Will be verifying through ABTD before submission.
Reverted changes: /q/submissionid:2695387-host-tests-Og
Change-Id: Ia8c75f9476f52dfce959c424bdf6b483bdf95c9f
All the module types that were using OutputFileProducer
are using OutputFilesProvider now. This CL removes the
remaining OutputFileProducer code.
Test: CI
Bug: 339477385
Change-Id: I3c29785a59b907117b16ca2d0e56ef846adfb228
If the partition of a spec is "root", that spec will be installed to
root instead. Normally that spec will be from prebuilt_root module with
install_in_root property.
Bug: 351258461
Test: USE_SOONG_DEFINED_SYSTEM_IMAGE=true m && cvd start
Change-Id: Iaaa9c2fb8a81fe0ba4710c641e1b65c5b71ad4a4
This is to support installing to real root "/", not a root of partition
(e.g. "/system/").
Bug: 351258461
Test: build
Change-Id: I56993aceddfd988d2d10040f50f838b89c9bdc67
release_config_artifact.directories contains the ordered list of
release config map directories that contributed flag declarations and/or
flag values to the release config (ignoring inheritance).
release_config_artifact.value_directories contains the ordered list of
release config map directories where we found a release_config message
for this release config.
Also, improve various error messages.
Bug: None
Test: manual, TH
Change-Id: Ifb67e80fc8746ae466f2e3515c5b0c3ba07a291d