summaryrefslogtreecommitdiff
path: root/java/base.go
AgeCommit message (Collapse)Author
2024-05-22Instrument impl library belonging to apexes Jihoon Kang
https://r.android.com/3094444 has removed instrumentation from the implementation library of the java sdk library. However, given that the top level java sdk library was not being instrumented before removing the compilation action, there is no way to get the coverage data for the java sdk library included in the mainline modules with the aforementioned change. As seen in b/340174053, instrumenting all impl libraries by default may lead to double instrumentation execution time error in some edge cases (especially with make to soong dependency). Given the above two conditions, this change allows instrumentation for the implementation library of the java sdk library that belongs to apex(es). Test: lunch husky-trunk_staging-userdebug && EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true m droid dist Test: DIST_DIR=dist_dir TARGET_BUILD_VARIANT=userdebug PRODUCT=mainline_modules_x86_64 COVERAGE_MODULES="uwb" ./vendor/google/build/build_unbundled_coverage_mainline_module.sh Bug: 341170242 Change-Id: I175e02f61e139296f5a177e6fc1c3ded760ac028
2024-05-17Support min_sdk_version overrides in apps Spandan Das
This replaces the global override of min_sdk_version (via `APEX_GLOBAL_MIN_SDK_VERSION_OVERRIDE`) with an min_sdk_version override that can be set by each individual soong override_app. The use case for this are go apps which are only installed in T and above, even though the base AOSP apexes might be installable on < T devices. Test: added a unit test Bug: 295311875 Change-Id: Ie2e738a6786bb24417c675617f7c78358017c96c
2024-05-10Remove duplicated CollectDependencyAconfigFiles() Justin Yun
android.ModuleBase already calls aconfigUpdateAndroidBuildActions() that is the same with CollectDependencyAconfigFiles(). Remove the CollectDependencyAconfigFiles() to avoid duplication with aconfigUpdateAndroidBuildActions(). To make the aconfig information available in GenerateAndroidBuildActions() of all modules, call aconfigUpdateAndroidBuildActions() before calling GenerateAndroidBuildActions() of each module. Also, we don't need SetAconfigFileMkEntries(), which is a duplicate of aconfigUpdateAndroidMkData() Bug: 335363964 Test: diff `adb shell printflags` before and after the change. Change-Id: I52808e442e9fed7db1eae7b7c5ed0b1c5ba74f5d
2024-05-08Revert^2 "Remove compilation actions from java sdk library" Jihoon Kang
This change modifies the build actions of java_sdk_library module type so that it does not perform any compilation actions (i.e. does not create the top level java_sdk_library jar file). Instead, it delegates the build actions the top level jar file was performing to the dynamically created ".impl"-suffixed java library module. The build actions that are delegated to the impl library module include hiddenapi processing, dexing, and dexpreopt. This change relands https://r.android.com/3035972. Implementation changes from the original change: - "all_apex_contributions" is added as a dependecy to the implementation library modules where the parent sdk_library module has a prebuilt equivalent. This allows the source apex variant to be hidden from make when the prebuilt is active. Test: patch in internal main, lunch barbet-ap2a-userdebug && m nothing Test: m nothing --no-skip-soong-tests Bug: 332785297 Change-Id: I017938e5567aef82e428e7ceb557d9c9090e0257
2024-04-16Merge changes from topic ↵ Treehugger Robot
"cherrypicker-L27000030003160683:N90900030051335582" into main * changes: Propagate transitive missing optional_uses_libs. Refactor the contruction of the manifest check inputs.
2024-04-15Propagate transitive missing optional_uses_libs. Jiakai Zhang
Bug: 331528424 Test: m --no-skip-soong-tests Ignore-AOSP-First: Depends on internal changes. Will cherry-pick once merged. Merged-In: Ied2821f11b6a5056ecf577e1e25765bc6dd212c0 Change-Id: Ied2821f11b6a5056ecf577e1e25765bc6dd212c0
2024-04-15Refactor the contruction of the manifest check inputs. Jiakai Zhang
This is a no-op change for a majority of cases. Before this change, the contruction of the manifest check inputs is confusing. It mutates uses_libs properties in place just for the manifest check, by replacing module names with library names for direct dependencies and merging library names from CLC for both direct denpendencies and transitive denpendencies, and then constructs manifest check inputs from those mutated uses_libs properties. This is error-prone and leads to insistency: the goal is to check that the CLC matches the manifest, but the inputs to the check don't reflect the CLC. After this change, we no longer mutate uses_libs properties in place. Instead, we maintain a separate list of missing denpendencies, and then construct manifest check inputs directly from the CLC for all existing libraries, no matter they are direct or transtive, and from the separate list of missing libraries. This change makes the logic more consistent and straightforward, and it also allows us to easily do the next change, which is to propagate transtive missing denpendencies. In fact, this change revealed several bugs around library optionality and order in CLC construction, and fixed them. Bug: 331528424 Test: m --no-skip-soong-tests Ignore-AOSP-First: Depends on internal changes. Will cherry-pick once merged. Merged-In: I0de82e76c47995b54aba9efd41538d950256a95f Change-Id: I0de82e76c47995b54aba9efd41538d950256a95f
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-11Merge "Collect aconfig_declarations of the dependent java_aconfig_library ↵ Jihoon Kang
modules" into main
2024-04-02Move jarjar repackage action before combine action Zi Wang
With this change, the jarjar repackage actions are only on the local classes of each module instead of the combined jar that contains the static libs. The static libs don't need jarjar repackage action on this module level because it has been repackaged when building itself. This change also removes the skip_jarjar_repackage property since it's incompatible with this change. Actually skipping jarjar repackage on a dep may result in incomplete repackage on the module output. Test: CI and observing the build time of SystemUIGoogle Bug: 328067025 Ignore-AOSP-First: Will cp to aosp (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:78ffdd47a658dec4bf79e63d11a5f0f3b94876a4) Merged-In: I476d959af025c46d2ba6d3f48ea378a086666a33 Change-Id: I476d959af025c46d2ba6d3f48ea378a086666a33
2024-03-29Collect aconfig_declarations of the dependent java_aconfig_library modules Jihoon Kang
droidstubs module require aconfig_declarations modules to be specified when the module depends on the java_aconfig_library module in order to generate the "exportable" stubs. This adds burden to the droidstubs or java_sdk_library module owners, as module should specify both the java_aconfig_library and aconfig_declarations modules to genreate the "exportable" stubs, although the necessary information from the aconfig_declarations module can be provided from the java_aconfig_library modules. In order to resolve such burden, this change enables the intermediate cache files from the associated aconfig_declarations module of a java_aconfig_library module to be propagated to its reverse dependencies without having the specify the aconfig_declarations modules in the droidstubs or java_sdk_library modules definitions. This does not mean that the intermediate cache files of every transitive dependencies of the java_sdk_library or the droidstubs will be passed to aconfig to retrieve the state of the aconfig flags. Specifically, only the java_aconfig_library modules or the java_library modules that have static dependency on java_aconfig_library modules that are passed to droidstubs via `libs` or `srcs` (using ":module_name{.tag}" syntax) will provide the intermediate cache files to generate the "exportable" stubs. For java_sdk_library, all modules listed as `libs`, `static_libs`, `stub_only_libs`, and `apiScope.libs` are passed as `libs` and all modules listed as `api_srcs` and `srcs` are passed as `srcs` to the droidstubs modules dynamically generated in java_sdk_library module per api scope, thus these properties will be affected. Note that the test is being added in the apex package. This is because trying to register the codegen package build components in the java package leads to circular dependency between the codegen and the java package, as codegen package imports the java package. Test: m nothing --no-skip-soong-tests Bug: 329284345 Change-Id: I7953ab64776f6947808321ce8a3598154501bcfe
2024-03-28Ensure java level inter partition dependency with VNDK deprecation. Kiyoung Kim
Previously JAVA dependency over partition was checked only when device VNDK version is not empty. This change updates logic to enforce inter partition dependency despite of VNDK version based on VNDK deprecation. Bug: 330100430 Test: AOSP CF build succeeded Change-Id: I7444ad612aa6c525e61cc5c2a89f5421ab4465b4
2024-03-27Support transitive proguard specs in android_library_import Colin Cross
Add support for android_library_import to propagate the proguard specs from its static dependencies. Bug: 326265727 Test: TestExportedProguardFlagFiles Change-Id: I174c1d7937a529958f8d240214b279062ef74868
2024-03-20Merge "Change java stem attribute for both device and host" into main Treehugger Robot
2024-03-19Propagate intermediateCacheFiles in java modules and filegroup Jihoon Kang
This change propagates the intermediateCacheFiles generated by the aconfig_declarations to the static rdeps that are java modules or the rdeps that are filegroups. Test: m nothing Bug: 329284345 Change-Id: I02431336c1aa0378d03248f3bb6edf2f57ec3b7f
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-14Merge "Validate aconfig libs are built with the correct modes." into main Yu Liu
2024-03-07Validate aconfig libs are built with the correct modes. Yu Liu
Bug: 323071835 Test: Unit tests and manual tests. Change-Id: I32de90826c7c8bb4d8495608e959d554820ab9a2
2024-03-06Add property Skip_jarjar_repackage Zi Wang
If this property is set to true on a module, this module will not have jarjar repackaging. Test: CI Bug: 327009143 Ignore-AOSP-First: Will cp to aosp (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:9bdd4228cb959d46a60610f3b0eb9b52b95a73ad) Merged-In: I9384c9c25ce581ac00d309a188cf7533eb2e44a6 Change-Id: I9384c9c25ce581ac00d309a188cf7533eb2e44a6
2024-02-29Merge changes I8d060594,I2b6a57ae into main am: 5d55b66861 am: 8b64ad9506 Colin Cross
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2980832 Change-Id: I3aa663741d26491ffeb10cc2fb2c97a3a83c46be Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-29Merge changes I8d060594,I2b6a57ae into main Colin Cross
* changes: Put extraCombinedJars after the compiled jars Use RSP file for long classpaths
2024-02-29Merge "Sort jarjar rename keys before using" into main am: 688f824e1a am: ↵ Inseob Kim
224ac62ba8 Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2981731 Change-Id: I6e5a5fa9b8cd1bb49a0d90b9996838b4cf3669aa Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28Put extraCombinedJars after the compiled jars Colin Cross
extraCombinedJars contains the R.jar generated by ResourceProcessorBusyBox for apps. It needs to go before any static_libs dependencies so that the finalized R values take precedence over any non-final R values that may have been included in the dependencies. Moving after the javac and kotlinc compiled jars helps minimize differences when turning on use_resource_processor by default by using the MANIFEST.MF generated by soong_zip instead of the one generated by ResourceProcessorBusyBox, which contains a different Created-By field. Bug: 294256649 Test: m javac-check Change-Id: I8d060594404121fd36ef650ac317f0c5d5f92b23
2024-02-28Sort jarjar rename keys before using Inseob Kim
To make it deterministic Bug: 327302642 Test: compare build commands among different targets Change-Id: I890dcd67c62db58938a6e6d1c4e3fbd323c72b18
2024-02-27Add property Skip_jarjar_repackage Zi Wang
If this property is set to true on a module, this module will not have jarjar repackaging. Test: CI Bug: 327009143 Change-Id: I9384c9c25ce581ac00d309a188cf7533eb2e44a6 Ignore-AOSP-First: Will cp to aosp
2024-02-16Add jarjar_prefix propagation support for aconfig_declarations_group module type Jihoon Kang
jarjar_prefix propagation logic currently depends on the type of the providers of the dependencies, thus the logic needs to be updated when a new provider is added. Since `aconfig_declarations_group` module type utilizes its custom provider "CodegenInfoProvider", this change adds jarjar_prefix propagation support for this provider. Test: Set aconfig_declaration module's exportable property to true && m framework-minus-apex and inspect if "repackaged-jarjar" subdir exists in outdir Bug: 310504781 Change-Id: I1689027d7810687a53ec34b9cfda479806f2ec87
2024-02-13Improve determination whether to propagate JarJarProvider LaMont Jones
Add more explicit checks to not propagate JarJarProvider when we will be linking against stubs. Bug: b/310504781 Test: treehugger Merged-In: I3219d0bf7e84a386b16b248314f11b4e9edcd0fa Change-Id: I3219d0bf7e84a386b16b248314f11b4e9edcd0fa
2024-02-13Introduce library property is_stubs_module Jihoon Kang
is_stubs_module property signifies whether the module compiles stubs or not. The information is propagated to the reverse dependencies of the java_library/java_sdk_library modules via JavaInfoProvider as StubsLinkType, a ternary state that provides information about whether the provided jars are compilation of stubs or implementation, or unknown. When java_sdk_library sets StubsLinkType, its state is Unknown as the decision of providing stubs vs implementation jar differs by the reverse dependency. Note that this CL does NOT propagate the property up to its reverse dependencies. This will be done in follow up CLs. Test: m nothing Bug: 310504781 Merged-In: Ic81488dbd1c9af1b5d31a33e5e9441d9f1416dbe Change-Id: Ic81488dbd1c9af1b5d31a33e5e9441d9f1416dbe
2024-02-07Ignore proguardRaiseTag in jarjar repackage Zi Wang
Test: CI Bug: 310504781 Ignore-AOSP-First: Will cp to aosp (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ffd200a12546237b1ac0f615c73cb3c9614a8237) Merged-In: I1c926f374cc6e0f963c32d049ea120b8fbf18eb1 Change-Id: I1c926f374cc6e0f963c32d049ea120b8fbf18eb1
2024-02-05Automatically propagate jarjar rules for aconfig libraries Joe Onorato
Test: treehugger Bug: 310504781 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:97c03a6dc659102ff40793759fb3f0f18164a85b) Merged-In: I639d12ff33175b7bed7e7d0595a40dd9b0d99367 Change-Id: I639d12ff33175b7bed7e7d0595a40dd9b0d99367
2024-01-26Fix the args used to dexpreopt system server jars in prebuilt apexes Spandan Das
For prebuilts, java.dexpreopt gets called twice 1. in the context of the top-level prebuilt apex 2. in the context of the java_library shim Only the artifacts of (1) get installed. The artifacts generated by 2) are unused. However the args used to generate the artifacts of (1) are incorrect. It uses moduleName(ctx) to do special-handling of apex system server jars. This special-handling does not happen in (1), so although dexpreopt artficats get generated, they get generated with the wrong args. To fix this, add an additional parameter in java.dexpreopt to pass the libraryName explicitly. Details - Delete moduleName function. This was used to determine the java library name, which is no longer safe - Add a libraryName parameter to java.dexpreopt - Most module types will use j.Name() as libraryName - prebuilt_apex and apex_set will iterate over its `contents` and use each element as libraryName when invoking java.dexpreopt With the correct args passed from (1), we can drop j.dexpreopt from (2) completely. Dropping (2) also breaks profile guided dexpreopt tests. These currently operate on (2). They will be moved to (1) in the next CL of this stack. Test: presubmits Test: lunch cf_x86_64_auto-trunk_staging-userdebug && m nothing (this was a postsubmit failure with aosp/2923733) Test: art_standalone_dexpreopt_tests on next https://android-build.corp.google.com/builds/abtd/run/L86000030001579256 Test: art-gtest on git_master-art-host https://android-build.corp.google.com/builds/abtd/run/L07800030001550262 Bug: 308790457 Bug: 322255144 Change-Id: I8eb604c82f1fa5289d3cd1a20084d56e4d7485e3
2024-01-25Revert "Ensure sscp jars get copied to $OUT/soong/system_server_dexjars" Spandan Das
This reverts commit 0b7089f13420061c8f1732fe6e2e56f1e9cdb21e. Reason for revert: Breaks auto builds https://groups.google.com/a/google.com/g/android-build-police/c/DfXeyxkyfYk/m/4SvZa-jkAAAJ Change-Id: Ia6ebdf64d03284d2318978c35cb87fd4f0b79531
2024-01-24Ensure sscp jars get copied to $OUT/soong/system_server_dexjars Spandan Das
(This was missed in aosp/2876756, which copied only the bcp jars) This hardcoded location is used by dex2oat to compile the dexpreopt artifacts. The copy rules are currently generated by java_(sdk)_library for source builds, and their prebuilt counterparts in prebuilt builds. After this change, the copy rule will be bifurcated between source and prebuilt builds 1. For source builds, it will come from java_(sdk)_library 2. For prebuilt builds, it will come from the top-level prebuilt apex. Since there can be multiple prebuilt apexes in trunk stable, HideFromMake will be used to determine which deapexed jar to copy. The bifurfaction is expected to be temporary. It is needed for now since the `apex_contributions` which will be used for source vs prebuilt selection have not been populated completely. Test: Added a unit test Test: Presubmits Test: git_master-art-host: art-gtest (https://android-build.corp.google.com/builds/abtd/run/L40800030001459791) Test: git_main:art_standalone_tests (https://android-build.corp.google.com/builds/abtd/run/L09000030001463855) Bug: 308790457 Change-Id: I3105d3b3a7e5c41cb601d07806f4ea483a61b50a
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-04Merge "Use ApiLevel on min, target and compile Sdk version" into main Cole Faust
2023-12-19move CollectDependencyAconfigFiles to android LaMont Jones
This needs to be called by some modules in android. Bug: 308625757 Test: manual Change-Id: I389fcfd88a3f4bd85a9218fdd4dd66d8a239bb67
2023-12-14Convert OtherModuleProvider to generic providers API Colin Cross
Convert all of the callers of OtherModuleProvider/OtherModuleHasProvider to use the type-safe android.OtherModuleProvider API. Bug: 316410648 Test: builds Change-Id: Id77f514d68761a262d9ea830a601dbed804bbbe5
2023-12-14Convert Provider to generic providers API Colin Cross
Convert all of the callers of Provider/HasProvider to use the type-safe android.ModuleProvider API. Bug: 316410648 Test: builds Change-Id: I73479de1625fa2865b6c73444cd477e50d56dc5a
2023-12-14Convert SetProvider to generic providers API Colin Cross
Convert all of the callers of SetProvider to use the type-safe android.SetProvider API. Bug: 316410648 Test: builds Change-Id: If58f4b5355264ddab2045bc3591a4eac19cd58fc
2023-12-13Allow compile_data on all java modules Cole Faust
art java_test modules need to specify compile_data, make it common to all java modules. Bug: 307824623 Test: m lint-check Change-Id: I68640f14137f9cadaf0c454d3b5abc9e2d1d9b4b
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-07Merge aconfig files per-module Colin Cross
Passing the list of all transitive aconfig files to Make causes extra Kati analysis runs when dependencies are changed in Android.bp files. Since Make is going to merge them anyways, merge them per-module and pass a single aconfig file to Make for each module. Fixes: 313698230 Test: m out/target/product/vsoc_x86_64/system/etc/aconfig_flags.pb Change-Id: Ifde4826bc93bc06e40338f72b4cb39eed26ca08d
2023-12-05Add source file provider for genrule/srcs, python libraries and rust libraries. Aditya Choudhary
Change-Id: I2d7d4684a10c15aeecc27b8db800ab27a807d2e2
2023-11-30Merge "Add container property to aconfig_declarations." into main Yu Liu
2023-11-29Don't write transitive dependencies to Android-${TARGET_PRODUCT}.mk Colin Cross
Java libraries were writing lists of files that changed whenever transitive dependencies changed to Android-${TARGET_PRODUCT}.mk, causing Kati analysis to rerun whenever a dependency was changed in Soong. In both cases, Make would immediately use the list to write a single output file. Write the files in Soong and pass the path to the file to Make instead, which will both reduce the size of Android-${TARGET_PRODUCT}.mk and skip Kati analysis more often. Bug: 309006256 Test: m checkbuild Change-Id: I5dff16c6fb7cca8c6da927b37c612c7b1d0954e6
2023-11-28Add container property to aconfig_declarations. Yu Liu
Bug: 311155208 Test: Unit test Change-Id: I7b187138856d0144203961e82b6dad5e2f8eed9d
2023-11-15Stop collecting path entry for module_bp_java_deps.json from each module type Colin Cross
The jdepsGeneratorSingleton can get the module path directly, it doesn't need to be collected by each module type that implements IDEInfo. Fixes module types (like android_library) that didn't reach the code that collected the path. Bug: 309835196 Test: out/soong/module_bp_java_deps.json contains path for ExtServices.core Change-Id: If8cb81b4f708e0367f156ade164bee253bf53492
2023-11-06Use ApiLevel on min, target and compile Sdk version Zi Wang
This change is a partial revert of aosp/2143082. The reason is that unreleased apis should be referenced by name instead of a number. link to xml reports before/after this cl: https://drive.google.com/drive/folders/1woIgVlHF6qude5RpW-0mEQLzcXo4isX4?usp=sharing Test: m lint-check Change-Id: I6d801f95a24400c9c5c23546e19d6440bd357873
2023-10-27Update transitive lib propagation Jared Duke
Only propagate transitive libs by way of library-like references. This avoids inclusion of transitive deps from tools like lint modules that are unncessary for R8. This yields build speedups for a number of targets, including: * services.jar: -22% (66s -> 51s) * telephony-common.jar: -27% (29s -> 21s) * updatable-media.jar: -41% (17s -> 10s) * framework-appsearch.jar: -46% (13s -> 7s) Bug: 302383328 Bug: 307273642 Test: m Change-Id: I60bb30e84dabe522ea9ac9333f00e739962ea91d
2023-10-25Don't minimize debug information if module explicitly asks for it Mythri Alle
In some configurations (for ex: go, auto) we minimize debug information to reduce disk and memory usage. However some tests need the debug information to work as expected. If a test explicitly requests for debug information by passing "-g" to javac flags don't add "-g:source,lines" to minimize debug information. Javac gives priority to -g:source,lines and doesn't respect the order. So check if there is a -g flag before adding flags to minimize debug information. Test: atest CtsJvmtiRunTest1912HostTestCases android.jvmti.cts.JvmtiHostTest1912#testJvmti Change-Id: I45e0f5fa9e79c16c2ff6e9413941a9a637753653