flutter/packages/flutter_tools/test/general.shard/android
Gray Mackall c49ec359a2
Add handler for jlink error when using Java 21 (#157132)
Fixes https://github.com/flutter/flutter/issues/156304.
Also fixes https://github.com/flutter/flutter/issues/155449.

Unfortunately, because the error handler only sees one line at a time, it is hard to make this handling any more specific than this. If we run in to another jlink related error (unlikely) between now and when we phase out support for AGP 8.2.0 and below, we might have trouble differentiating them. We should delete the error handler when we phase out support for those versions.

Example of handled error output:
```
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':shared_preferences_android:compileReleaseJavaWithJavac'.
> Could not resolve all files for configuration ':shared_preferences_android:androidJdkImage'.
   > Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for JdkImageTransform: /Users/mackall/Library/Android/sdk/platforms/android-34/core-for-system-modules.jar.
         > Error while executing process /Users/mackall/Desktop/JDKs/21/jdk-21.0.2.jdk/Contents/Home/bin/jlink with arguments {--module-path /Users/mackall/.gradle/caches/8.9/transforms/2890fec03da42154757073d3208548e5-79660961-f91d-4df2-90bc-b9a3f2a270bd/transformed/output/temp/jmod --add-modules java.base --output /Users/mackall/.gradle/caches/8.9/transforms/2890fec03da42154757073d3208548e5-79660961-f91d-4df2-90bc-b9a3f2a270bd/transformed/output/jdkImage --disable-plugin system-modules}

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 1s
Running Gradle task 'assembleRelease'...                         2,100ms

┌─ Flutter Fix ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [!] This is likely due to a known bug in Android Gradle Plugin (AGP) versions less than 8.2.1, when                                   │
│   1. setting a value for SourceCompatibility and                                                                                      │
│   2. using Java 21 or above.                                                                                                          │
│ To fix this error, please upgrade your AGP version to at least 8.2.1. The version of AGP that your project uses is likely defined in: │
│ /Users/mackall/development/BugTesting/fifth/android/settings.gradle,                                                                  │
│ in the 'plugins' closure (by the number following "com.android.application").                                                         │
│  Alternatively, if your project was created with an older version of the templates, it is likely                                      │
│ in the buildscript.dependencies closure of the top-level build.gradle:                                                                │
│ /Users/mackall/development/BugTesting/fifth/android/build.gradle,                                                                     │
│ by the number following "com.android.tools.build:gradle:".                                                                            │
│                                                                                                                                       │
│ For more information, see:                                                                                                            │
│ https://b.corp.google.com/issues/294137077                                                                                            │
│ https://github.com/flutter/flutter/issues/156304                                                                                      │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Gradle task assembleRelease failed with exit code 1
```
2024-10-18 19:06:16 +00:00
..
migration Migrator for android 35/16kb page size cmake flags for plugin_ffi (#156221) 2024-10-08 08:41:09 +00:00
adb_log_reader_test.dart Remove outdated ignores from tool (#140467) 2023-12-20 22:14:32 +00:00
android_device_discovery_test.dart include exception details in tool exit displayed when adb call fails (#147498) 2024-04-30 17:38:21 +00:00
android_device_port_forwarder_test.dart add missing trailing commas in list/set/map literals (#102585) 2022-04-27 09:15:35 +02:00
android_device_start_test.dart Add --trace-to-file option to flutter run (#135713) 2023-10-12 13:23:52 -04:00
android_device_test.dart Stop reading .packages from flutter_tools. (#154912) 2024-09-13 13:53:05 +02:00
android_emulator_test.dart add missing trailing commas in list/set/map literals (#102585) 2022-04-27 09:15:35 +02:00
android_gradle_builder_test.dart [tool] Remove some usages of deprecated usage package (#151359) 2024-07-09 18:17:21 +00:00
android_install_test.dart [tool] Install the corresponding APK in flutter run (#113622) 2022-10-19 02:44:30 +00:00
android_project_migration_test.dart Switch to more reliable flutter.dev link destinations in the tool (#150587) 2024-06-26 23:30:39 +00:00
android_sdk_test.dart Native assets support for Android (#135148) 2023-12-07 16:29:11 +00:00
android_studio_test.dart [tool] fix android studio preview's version parsing (#156293) 2024-10-16 15:56:31 +00:00
android_studio_validator_test.dart [tool] In flutter doctor -v, warn when Android Studio version could not be detected. (#126395) 2023-06-01 14:51:30 +00:00
android_workflow_test.dart [tool] Guard more write/writeln calls on Process.stdin (#151146) 2024-07-23 19:27:52 +00:00
build_validation_test.dart Refactor BuildInfo to always require packageConfigPath (#150559) 2024-07-02 11:19:31 +02:00
deferred_components_gen_snapshot_validator_test.dart Revert "Speed up first asset load by encoding asset manifest in binary rather than JSON (#113637)" (#116662) 2022-12-07 17:29:05 +00:00
deferred_components_prebuild_validator_test.dart Fix typos (#121171) 2023-02-23 19:43:21 +00:00
gradle_errors_test.dart Add handler for jlink error when using Java 21 (#157132) 2024-10-18 19:06:16 +00:00
gradle_find_bundle_test.dart Reland "Upgrade template Gradle, App AGP, Module AGP, and Kotlin versions, and tests"... but no longer upgrade module AGP version (#151433) 2024-07-10 21:37:26 +00:00
gradle_test.dart Reland "Upgrade template Gradle, App AGP, Module AGP, and Kotlin versions, and tests"... but no longer upgrade module AGP version (#151433) 2024-07-10 21:37:26 +00:00
gradle_utils_test.dart Reland "Upgrade template Gradle, App AGP, Module AGP, and Kotlin versions, and tests"... but no longer upgrade module AGP version (#151433) 2024-07-10 21:37:26 +00:00
java_test.dart have Java.version return null if java --version fails or cannot be run (#139614) 2023-12-06 23:13:17 +00:00
template_test.dart Adding 'is' to list of kotlin reserved keywords (#116299) 2023-01-06 00:10:07 +00:00