summaryrefslogtreecommitdiff
path: root/java/java_test.go
AgeCommit message (Collapse)Author
2025-03-10Merge "Do not propagate boot jars in CLC construction" into main Jihoon Kang
2025-03-06Do not propagate boot jars in CLC construction Jihoon Kang
Bootclasspath libraries are shared and available to apps by default. Propagating the bootclasspath libraries in CLC and adding them in manifest fixer may lead to discrepancies between the build time CLC and the run time CLC, making dexpreopt usesless and leading to performance regression. Test: m nothing --no-skip-soong-test Bug: 390048523 Change-Id: I15bc76a83f03e4575a9a7cd7cc821969f2204bf2
2025-03-04Replace --revert-annotation with a flags config file Paul Duffin
Previously, Metalava did not support flags specifically and instead relied on the build to generate the appropriate `--revert-annotation` options to ensure that each flagged API was reverted or finalized as appropriate to the flag state. However, Metalava now supports configuring the flag state explicitly so this change switches the build to make use of that. The set of flags to be passed to Metalava are generated using exactly the same queries as before except that instead of just outputting the `{fully_qualified_name}` it outputs the whole protobuf definition. The `keep-flagged-apis.sh` script has been replaced by `aconfig-to-metalava-flags.py` which consumes the protobuf and generates a config file suitable for Metalava to consume. Finally, instead of using `@<file>` syntax to pass a file containing command line options the config file is specified using `--config-file`. One point to note, previously, when `aconfigFlagsPaths` was empty it would just pass `--revert-annotation android.annotation.FlaggedApi` to revert them all. To do the same with the configuration file it is necessary to pass an empty `<api-flags/>` as no `<api-flags>` means keep all the flagged APIs, just like no `--revert-annotation` does. Rather than have some special logic to handle that case and create an empty file I just let it drop through as the code below generates an empty protobuf file which in turn creates an empty `<api-flags/>` element in the config file. Bug: 399846595 Test: # Before applying this change run: tools/metalava/scripts/gather-android-metalava-artifacts.py before # After applying this change run: tools/metalava/scripts/gather-android-metalava-artifacts.py after # Make sure that there are no differences. meld before after Change-Id: Ia95e111f10d066996e4e51c5b7027b09f4d05d57
2025-02-21Merge "Implement host_common_data property for cc, java, rust and sh test ↵ Colin Cross
modules" into main
2025-02-20Remove RELEASE_USE_TRANSITIVE_JARS_IN_CLASSPATH Colin Cross
RELEASE_USE_TRANSITIVE_JARS_IN_CLASSPATH is set to true in all release configs in main, Soong can stop checking the value. This implicitly enables the flag for all of the tests in Soong, which requires updating paths in many of them. Test: builds Change-Id: I2e0d6cd109e1aa7a1163116fa1210e3f42f57878
2025-02-18Implement host_common_data property for cc, java, rust and sh test modules Colin Cross
Implement the host_common_data property that will copy a host common module into the test data directory. This property can be used to copy a custom Tradefed test runner jar alongside the test. Bug: 262397555 Test: TestHostCommonData Change-Id: Iacef0778254a3dda400c9e221f442c47d8db7b02
2025-02-12Don't panic in ModuleForTests and friends Colin Cross
Panicking in ModuleForTests and similar test helper functions was a mistake. Go's test runner stops running tests as soon as any test panics, which means debugging multiple tests panicking requires rerunning all the tests after fixing each panic to find the next one. Pass the *testing.T into ModuleForTests and friends so that it can call t.Fatalf instead. Test: all soong tests pass Change-Id: I5d0f2424eaf04fb795079e6d1e4b9469d8c7033c
2025-01-31Merge changes I39a75dab,I4c6640e7,I931216a5 into main Colin Cross
* changes: Return android.Module from BottomUpMutatorContext methods Add t.Parallel() to java tests Run gofmt -w .
2025-01-31Add t.Parallel() to java tests Colin Cross
Speeds up go test ./java from 32 seconds to 9 seconds. Test: go test ./java Change-Id: I4c6640e787c0744c6dfda03b7382839b452e24cf
2025-01-29Install java_test module test deps and configs in soong-only Jihoon Kang
This change installs test deps and configs to the `testcase/` directory for atests use in soong-only builds. Bug: 391924360 Test: locally set PRODUCT_SOONG_ONLY && m clean && atest signature-host-tests Change-Id: I6655c2903c2f62c65ff0056b0dbe542df48e3e49
2024-11-13Only coverage instrument device modules that are being compiled to dex Colin Cross
There's no reason to instrument device modules that are not being compiled to dex with jacoco, as they can't be installed on the device if they only have class files, and modules that depend on it will get the pre-instrumented jar. Bug: 372543712 Test: TestCoverage Change-Id: I10d5fb2eeb1f1acf6393603b5219685bf22f327c
2024-10-21Add new properties to aid in removing the 1-variant fallback Cole Faust
These new properties are essentially methods to specify "outgoing transitions" in blueprint files. There are lots of host tests that want to include apps built for device in their data, so they need a property that adds dependencies based on the device variants instead of copying the same host variants. After this cl is submitted, I'll do an LSC to update all the usages that are relying on the 1-variant fallback to use these properties instead. Bug: 372091092 Test: m nothing --no-skip-soong-tests Change-Id: I45b8fb024da120ad61606e3a21de86e4392be2a4
2024-10-09Make java binaries common instead of common-first Cole Faust
Previously, java binaries had both common and the first arch variants. This was origionally added in aosp/556843. The reasoning there was so that a java binary could be used as the dependency of a genrule. However, now with transition mutators, we can make the incoming transition redirect the arch variant to the common variant if the module only has a common variant. This allows genrules to depend on the common arch variant easily. That change is also included in this cl. Bug: 372091092 Test: m nothing --no-skip-soong-tests Change-Id: Iea612d050bff608d661f81566884653239015213
2024-10-04Add JNI libs support to device variants of java_binary Spandan Das
This adds jni_libs support back to device variants, which was removed in https://r.android.com/3230584. These will be installed by the two packaging systems in different ways 1. Kati: By being listed in `LOCAL_REQUIRED_MODULES` of the autogenerated Android.mk 2. Soong: Via the`jniInstallTag`, whose `InstallDepNeeded` value is true This CL also makes it an error for a native library to be listed in `required` of a `java_binary(_host)`. Test: m nothing --no-skip-soong-tests Test: Verified that there are no diff in system_intermediates/file_list.txt (device variants) Test: m installclean && m <host_java_bin> ; verified that the jni library is installed in out/host/linux-x86/lib64 (host variants) Bug: 370110572 Change-Id: I6aebc648191ab39f2da15a5f2807d46abab22cb0
2024-10-02Remove the java property `exclude_static_libs` Jihoon Kang
All usages of the property has been converted to using select syntax. Test: m nothing --no-skip-soong-tests Bug: 368127911 Change-Id: I130f15d8524b56b6905c4dd3e7283731f437f88d
2024-09-28Find matching variant of `required` for `common_first` Spandan Das
Both 32-bit and 64-bit variants of native deps were getting installed in Soong-built system image if they were listed in `required` of `java_binary`. java_binary(s) have two variants, a "common" and an arch variant (the first arch). Previously the common variant will create a dependency to both 32-bit and 64-bit variants of their dependencies. With this CL, common variant will not create a dependency on required unless the requested `target` is also the common target. Test: Ran the filelistdiff tool Test: go test ./java -run TestNativeRequiredDepOfJavaBinary Bug: 369678122 Change-Id: Ica97e12eefb45929ca653ec57c3339e4a3b72a76
2024-09-26Merge "Fix coverage when transitive jars are enabled" into main Colin Cross
2024-09-25Fix coverage when transitive jars are enabled Colin Cross
Coverage instrumentation is performed on the combined jar contaning all the transitive dependencies, replace the exported list of transitive dependencies with the instrumented jar. This relands I1f417f5b4dc8e895eb1800da39121e0aefc754d9 with a fix to prevent using the instrumented jar as a dependency. Bug: 368161965 Test: TestCoverage Flag: EXEMPT bugfix Change-Id: I73ba60bcda241e6b4522310a9c65f717869638a6
2024-09-20Revert^2 "Restrict java_sdk_library in libs" Jihoon Kang
Instead, the module should specify the submodule it actually depends on. This is a prereq change to removing the java_sdk_library "magic" Test: m nothing --no-skip-soong-tests Bug: 366069293 Change-Id: Idb4b0b0a953f5391c24e50294c940522b73c34f2
2024-09-12Remove unused property naming_scheme in java_sdk_library Jihoon Kang
The property was introduced as an interim solution, and is currently unused. Test: m nothing --no-skip-soong-tests Bug: 366071058 Change-Id: I57abdb64fabdb34fbbd1190851bc528dbb88c7f8
2024-09-04Use transitive header jars in classpaths Colin Cross
Skip combining jars into turbine-combined, combined, and withres jars and instead collect transitive jars to use in the classpath and to produce the final dexed jar. This reduces the size of a `m checkbuild` in git_main by 11%, from 1300 KiB to 1154 KiB. It may also improve caching and reduce uplink network bandwidth when building with RBE, as now the classpath inputs to rules are themselves outputs of previous rules and so already in the RBE CAS. The downside is that the classpath inputs to each rule are now much longer, increasing the Soong ninja file size 11%, from 4.6 GiB to 5.1 GiB. This could be mitigated in the future by supporting something like depsets in the generated ninja file to reduce duplication. Bug: 308016794 Test: TestSimple, TestKotlin, TestClasspath Flag: build.RELEASE_USE_TRANSITIVE_JARS_IN_CLASSPATH Change-Id: I2b7b4261375494370da70f98597c8719f1d561cf
2024-08-21Access output files thru providers in Soong tests. Yu Liu
The outputFiles field on ModuleBase will be removed next. Bug: 358425833 Test: CI Change-Id: I6d665ac13134d9278e5908f64c454366bc6bca5e
2024-08-12Merge SingletonProviderContext with OtherModuleProviderContext Yu Liu
Bug: 358425833 Test: CI Change-Id: I8e3f40dc3cfc5337008b419801f8e6bf2d48e8b2
2024-08-09Add PrepareForTestWithBuildFlag Colin Cross
Add a helper function that creates a test fixture preparer that sets a build flag, and use it everywhere that was setting build flags manually. Test: all soong tests Flag: EXEMPT refactor Change-Id: I68d50d68787a30d091f0827e8caa51f5c5a762ef
2024-08-06Revert "Revert "Enable from-text stub generation in non-sdk java..." Jihoon Kang
Revert submission 3207397-revert-2982300-java_api_library_non_sdk-FIKZOSARQI Reason for revert: Post submit build breakage culprit fixed Reverted changes: /q/submissionid:3207397-revert-2982300-java_api_library_non_sdk-FIKZOSARQI Change-Id: Ic79b7fd074f02febba94183cb1479874efe044b5
2024-08-05Revert "Enable from-text stub generation in non-sdk java_sdk_library" Liana Kazanova
Revert submission 2982300-java_api_library_non_sdk Reason for revert: DroidMonitor: Potential culprit for b/357648959 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted. Reverted changes: /q/submissionid:2982300-java_api_library_non_sdk Change-Id: I5ef7afd9ec3e10ea99f82d02172843ad9b2cfda9
2024-07-30Enable from-text stub generation in non-sdk java_sdk_library Jihoon Kang
This change allows from-text stubs to be generated for all java_sdk_library modules, unlike how it is currently limited to the modules that contribute to the api surfaces (i.e. the SDK). This change accomplish this by modifying the dependency of the from-text stubs generation, so that the sdk_library generated from-text stubs generating java_api_library modules no longer depend on the full api surface stubs, but generate the stubs in the module level, and combined later to generate the full api surface stubs. This change also removes the java_api_library modules defined in core-libraries/Android.bp, which are passed to generate the system modules. Given that the from-text vs from-source toggle is done within the java_sdk_library stubs level, these modules no longer need to exist. Implementation details: - Allow sdk_version to be specified in java_api_library modules. For java_sdk_library-generated java_api_library modules, they inherit that of the sdk_library module. Some java_sdk_library modules that do not contribute to the api surface are allowed to set sdk_version to something other than "none" or "core". - Implement java_api_library to implement `SdkContext`. This allows java_api_library to collect required deps from sdk_version (classpath, bootclasspath, system modules), and pass the collected jars when generating the stubs srcjar in metalava and compiling the stubs srcjar in javac. - Remove hardcoded list of sdk_library modules that are allowed to genereate stubs from the api signature files, and allow from-text stubs generation by default. Modules that are not able to generate stubs from the api signature files are specified by setting the newly introduced `Build_from_text_stubs` property to `false`. Test: ENABLE_HIDDENAPI_FLAGS=true m Bug: 327507877 Change-Id: Ia35d2f3cf9fae48fc8c4bd99a84ae18d7c0e7bee
2024-07-10Use OutputFilesProvider on java modules mrziwang
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
2024-07-09Use OutputFilesProvider on Import, AARImport and AndroidAppImport mrziwang
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
2024-04-24Make container mandatory in aconfig_declarations. Yu Liu
Bug: 330354107 Test: Unit test and CI. Ignore-AOSP-First: It is easier to detect all the missing ones in internal master. (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e916a2c758d2a95037d1d366e7cd0e10d241d510) Merged-In: I4ab4271c67a35d0fdcc0b57c27260e29fb7dea56 Change-Id: I4ab4271c67a35d0fdcc0b57c27260e29fb7dea56
2024-04-12Add "test-only" flag for java modules Ronald Braunstein
As part of aosp/3022586 where we added the idea of "test-only" modules and top_level_test_targets, this CL implements that for java modules. We let users set "test-only" on java_library, but not on other modules where the module kind is implicitly test-only, like java_test. The implementation, not the user decides it is test-only. We also exclude it from java_defaults. % gqui from "flatten(~/aosp-main-with-phones/out/soong/ownership/all_teams.pb, teams)" proto team.proto:AllTeams 'select teams.kind, count(*) where teams.test_only = true and teams.kind not like "%cc_%" group by teams.kind' +--------------------------+----------+ | teams.kind | count(*) | +--------------------------+----------+ | android_test | 1382 | | android_test_helper_app | 1680 | | java_fuzz | 5 | | java_test | 774 | | java_test_helper_library | 29 | +--------------------------+----------+ % gqui from "flatten(~/aosp-main-with-phones/out/soong/ownership/all_teams.pb, teams)" proto team.proto:AllTeams 'select teams.kind, count(*) where teams.top_level_target = true and teams.kind not like "%cc_%" group by teams.kind' +--------------+----------+ | teams.kind | count(*) | +--------------+----------+ | android_test | 1382 | | java_fuzz | 5 | | java_test | 774 | +--------------+----------+ Test: m nothing --no-skip-soong-tests Test: go test ./java Test: m all_teams Bug: b/327280661 Change-Id: I9c3ad947dc3d68d6427abada27449526d69daa6b
2024-04-11Strip relative paths from java_import output files Colin Cross
androidx.annotation_annotation is used as a test data file, and converting it from a java_library to a java_library_import causes the relative path used in the test data path to change. Clear the relative path in java_import the same way that other java based modules do. Bug: 288358614 Test: TestJavaLibraryOutputFileRel Change-Id: I1f494110da32e916043ca94ac6ebeeafccc06f9a
2024-03-23Revert^2 "Support static_libs for java_import modules" Colin Cross
c6c9c7354bb9c8b8e69f21141e79d682bbe51076 Change-Id: Id011aca133d7bb45023a63c0f53d84a4d694cc2f
2024-03-22Revert "Support static_libs for java_import modules" Colin Cross
Revert submission 3008874 Reason for revert: b/330903911 Reverted changes: /q/submissionid:3008874 Change-Id: I34cca9d021d9c806e28bb6a6a6da78efd61cde27
2024-03-21Support static_libs for java_import modules Colin Cross
Remove the need to wrap java_import modules with a java_library just to include static dependencies. Bug: 288358614 Test: TestJavaImport Change-Id: I888aecc6c0efc696a397fc1dd5d0ef5fd644bebc
2024-03-20Merge "Change java stem attribute for both device and host" into main Treehugger Robot
2024-03-19Change java stem attribute for both device and host yangbill
Bug: 329762127 Test: cd build/soong/java ; go test -run TestJavaLibHostWithStem Test: cd build/soong/java ; go test -run TestAppStem Test: cd build/soong/java ; go test -run TestAndroidAppImport_ArchVariants Test: cd build/soong/java ; go test -run TestOverrideAndroidAppStem Test: cd build/soong/java ; go test -run TestOverrideAndroidApp Test: cd build/soong/java ; go test -run TestPackageNameOverride Change-Id: I8fbdc82116f9a0c68121fbbeb1ef4f78f2b6fea3
2024-03-16Support mechanism to select a specific version of module sdk prebuilt Spandan Das
This CL is the platform_compat_config equivalent of aosp/2928483. {prebuilt_}_platform_compat_config are collated by `global_compat_config` via a singleton. The collated data is then used in some CTS tests. At ToT, we ensure that the collation ignores the platform_compat_config of prebuilt when source is selected, and vice versa. With trunk stable, multiple versions of prebuilt apexes and prebuilt platform compat configs might exist in the tree. This CL uses `Source_module_name` to hide the platform compat configs of the unselected prebuilt apexes. Bug: 322175508 Test: Added a unit test Change-Id: Iafdde8fc0458b37b3ccde25433070936f144915c
2024-02-28Enable non-"everything" stubs generation in java_api_library Jihoon Kang
This change adds support to generate non-"everything" (i.e. "runtime" and "exportable") stubs in java_api_library, which generates the stubs from the api signature files. Unlike droidstubs module that generates "everything", "exportable" and "runtime" stubs in a single module, java_api_library generates a single set of stubs per module, which is set by the default-"everything" property `stubs_type`. This is because java_api_library is responsible for both generation and the compilation of the stubs srcjar, and compilation of the stubs srcjar are done in separate java_library modules for from-source stubs. Utilization of this feature will be done in a follow up change that generates the "exportable" java_api_library modules in java_sdk_library. Test: m nothing --no-skip-soong-tests Bug: 318009570 Change-Id: I1051544ac3bcdb3ba1f78bfec28eba4e9fad9c2d
2024-01-30Support mechanism to select a specific version of module sdk prebuilt Spandan Das
This CL is the java_(test_)_import equivalent of aosp/2928483. With trunk stable, we will have multiple prebuilts of the prebuilt java .jars in prebuilts/module_sdk/art/<v>/test-exports/, and this CL introduces a mechanism to use apex_contributions to select a specific versioned prebuilt when building. Implementation details: Create a new source_module_name property to identify the root module. rdeps referring to the root module will get redirected if necessary. This property also becomes the stem, if `stem` is not set explicitly. Bug: 322175508 Test: Added a unit test Change-Id: I2dff38acdf2002355586dbb2be8c1f98af4741f7
2024-01-10Merge "Replace panic with ModuleErrorf" into main Treehugger Robot
2024-01-09Replace panic with ModuleErrorf Spandan Das
This is a followup cleanup for aosp/2876754 and replaces panic with ctx.ModuleErrorf. The latter creates a more expressive build error. Implementation details - export moduleErrorf interface from build/soong/android. This minimal interface will be used as a parameter for `DexJarBuildPath` - Add ModuleErrorf to the function signature of DexJarBuildPath. This parameter only gets used for Import and SdkLibraryImport structs. These two can have duplicate deapexer definitions, and ModuleErrorf will be used to report that error - Create a minimal implementation of `ModuleErrorf` in tests of java and apex Test: m nothing --no-skip-soong-tests Change-Id: I0febec651f40c3f04deb957e64133c94b80fbd78
2024-01-08Generate "exportable" stubs in droidstubs Jihoon Kang
This change generates rules for "exportable" stubs in the droidstubs module. Given that there are a lot of overlap between the currently existing "everything" stubs rule and the newly introducing "exportable" stubs rule, the currently existing metalava rule commands are modularized to be utilized in the "exportable" stubs rule commands. The currently existing build actions are modularized in the followings: - commonMetalavaStubCmd(...): metalava commands that are required for generation of both "everything", "exportable", and potentially "runtime" stubs - everythingOptionalCmd(...): metalava commands that are dependent on "everything" stubs and not dependent on flagged apis annotations, such as api lint, released api check Based on this modularization, the "everything" stubs are now generated in everythingStubCmd(...), which calls commonMetalavaStubCmd(...) and everythingOptionalCmd(...). Similarly, the "exportable" stubs are generated in optionalStubCmd(stubsType=Exportable, ...), which calls commonMetalavaStubCmd(...) and appends additional flags. Runtime stubs can be generated similarly in the future with optionalStubCmd(stubsType=Runtime, ...). "everything"-related artifacts will now be created in `everything/` subdirectory, and "exportable"-related artifacts will be created in `exportable/` subdirectory. For example, the outdir of a droidstubs module "foo" would look like below: ``` foo |-- everything | |-- foo_api.txt | |-- foo-stubs.srcjar | |-- exportable |-- foo_api.txt |-- foo-stubs.srcjar ``` The module generates the build rules for the "exportable" stubs regardless of whether the module defines the `aconfig_declarations` property or not. All APIs marked with `@FlaggedApis` annotations are stripped out for the "exportable" stubs when the `aconfig_declarations` property is not defined. On the other hand, only the `@FlaggedApis` that are specified in the aconfig_declarations module and are enabled will be included (and all others are stripped) when the `aconfig_declarations` propety is defined. Test: go test ./java && BUILD_FROM_SOURCE_STUBS=true m Bug: 315490657 Change-Id: I300273cd2a62fa978b046c0268e3a67c35e22b08
2023-12-20Merge changes I8b352305,Iadf9e324 into main Cole Faust
* changes: Sandbox CtsApkVerityTestDebugFiles Include "soong" in sandboxed out paths
2023-12-19Include "soong" in sandboxed out paths Cole Faust
Previously, the path to built files in the sandbox would be out/.intermediates/... instead of out/soong/.intermediates/.... After this cl, it will be out/soong/.intermediates/.... This makes it more consistent with the non-sandboxed paths, which is easier for developers. CtsApkVerityTestDebugFiles is a genrule that's used to find the paths to other modules. Developers were expected to build it, then copy all the files listed in its output file to a temporary directory. Those paths would be wrong before this change. Bug: 307824623 Test: ./build/soong/tests/genrule_sandbox_test.py CtsApkVerityTestDebugFiles Change-Id: Iadf9e3240a2c828567e46b6b02cc14004f30e8bf
2023-12-18Move dexpreopt processing from java_*_import to prebuilt_apex Spandan Das
dexpreopt of apex system server from prebuilts involves three soong modules 1. prebuilt_apex / apex_set 2. an internal deapexer module created by the prebuilt apex 3. java_import/java_sdk_library (3) acts as a shim for the deapexer to set the dexjar extracted from the prebuilt apex. This methodolody requires a 1:1 correspondence across the three modules This breaks down when we have multiple versions of the same prebuilt apex in the tree. In preparation for this, move the dexpreopt processing from (3) to (1). Each prebuilt_apex will create the necessary rules for dexpreopting the jars deapexed from itself. In the future, apex_contributions will be used to pick which service-foo.{odex|.vdex} to install depending on which prebuilt apex is selected. Implementation details - Embed dexpreopter in prebuiltApex structs so that this module type can register the dexpreopt rules. Since a single apex can have multiple system server jars, this also requires creating an additional scope in dexpreopt.go to prevent name collisions - Add the dexpreopt modules as required in initApexFilesForAndroidMk - Add the depreopt modules to androidMk in AndroidMkEntries. Drop the equivalent from java_import and java_sdk_library_import Bug: 308790457 Test: existing soong unit tests Test: lunch cf_x86_64_phone-next-userdebug && m out/target/product/vsoc_x86_64/system/apex/com.google.android.adservices.apex Test: Verified that the above command installs /out/target/product/vsoc_x86_64/system/framework/oat/x86_64/apex@com.android.adservices@javalib@service-adservices.jar@classes.{odex|vdex} and the equivalent files of service-sdksandbox Test: presubmits Change-Id: I01cea8956d2857fb864b415e73d3d2686d069b5e
2023-12-14Convert ModuleProvder to generic providers API Colin Cross
Convert all of the callers of ModuleProvider/ModuleHasProvider to use the type-safe android.SingletonModuleProvider API. Bug: 316410648 Test: builds Change-Id: I6f11638546b64749e451cebbf33140248dc1d193
2023-12-08Remove ConvertWithBp2build implementations Colin Cross
Remove the ConvertWithBp2build implementations from all the module types, along with the related code. Bug: 315353489 Test: m blueprint_tests Change-Id: I212672286686a318893bc7348ddd5a5ec51e77a7
2023-12-07Add aconfig flag support for android_app Jihoon Kang
This change adds an overrideable property flags_packages to android_app, which is used to list the aconfig_declarations module names that the app depends on. The build action of android_app is modified to pass all flags text file provided by the aconfig_declarations to aapt2 link as --feature-flags arguments. Test: m nothing --no-skip-soong-tests Bug: 306024510 Change-Id: I4924f88b9954950cc1936a472cd7ac70f41add5d
2023-12-03Add TestContext parameter to ContentFromFileRuleForTests Colin Cross
The next CL will need a TestContext parameter in ContentFromFileRuleForTests in order to retrieve the file rule contents from the Config. Add it and update all the tests that use it in order to simply review of the next CL. Bug: 306029038 Test: go test ./... Change-Id: Ia4b4c9854017ea3472fa2f8ba42cf7f72720496e