It's the same mechanism that aconfig uses, but now it's exposed directly
to Android.bp files. (I had wanted to test it out there before making
it a property just in case it didn't work well)
Bug: 352385368
Test: go test -v -run TestJarJar.*
Change-Id: I72d797d08a250be93779ee4b038a1b8fc62123b7
`Dependencies` in module_bp_java_deps.json currently only contains the
`libs` and `static_libs` of the corresponding module. This is only a
subset of the dependencies which are required to compile the java
module. Most notably, the SDK deps (determined using `sdk_version`) are
missing.
This CL adds all the compile dependencies to the json file. Implementation
details:
1. Add a `compileDepNames` to java.Module in base.go. Almost all the
module types in java package are composed with the java.Module
struct.
2. Populate this property in java.Module.collectDeps. This function is
used by java.Module.compile to determine the classpath used for
compilation.
3. Return `compileDepNames` in java.Module.CompilerDeps.
Since `compileDepNames` is populated in `GenerateAndroidBuildActions`,
update existing unit tests that check for correctness of IDEInfo.Deps
Bug: 353811607
Test: m nothing --no-skip-soong-tests
Test: cat out/soong/module_bp_java_deps.json | jq '."DebuggingRestrictionController".dependencies'
[
"android_system_stubs_current", <-- missing previously
"core-lambda-stubs", <-- missing previously
"core-public-stubs-system-modules", <-- missing previously
"com.google.android.material_material",
...
...
]
Change-Id: I166c0eaf6e87ca7adc98bb4e21447cf82612d103
Dirmods currently expects a path relative to the top of the build. If
an abs path is passed, it will never match anything.
Modify so that if path is absolute, we fix-up the path relative to
ANDROID_BUILD_TOP.
Test: manual
Bug: trivial
Change-Id: Iad99228078dc693ab5f7957e007fe1bd5cea07d2
* changes:
Convert sdk mutator to TransitionMutator
Convert link mutator to TransitionMutator
Convert version mutator to TransitionMutator
Convert python_version mutator to TransitionMutator
Convert rust_libraries and rust_stdlinkage mutators to TransitionMutators
Some modules are only intended to be build for the build host,
e.g. rust_library modules only used in rust_proc_macro or
code generators.
These should not be expected to be built for or supported on non-build
host platforms. Thus, add a host_cross_supported property to disable
the HostCross target.
Test: m blueprint_tests
Test: Modules with host_cross_supported: false don't build for HostCross
Change-Id: Ia15f55776e04d86aee19bb0dd0d27e1b985b2b75
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