From 257d8e55acb84d1fc7327ad629186a0f6ff8cf1e Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Fri, 18 Oct 2024 15:22:24 -0400 Subject: [PATCH 1/7] man roll and test skip --- .ci/flutter_master.version | 2 +- .../camera/example/integration_test/camera_test.dart | 8 ++++++-- .../example/integration_test/integration_test.dart | 8 ++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.ci/flutter_master.version b/.ci/flutter_master.version index e8948f8d502..009bb766311 100644 --- a/.ci/flutter_master.version +++ b/.ci/flutter_master.version @@ -1 +1 @@ -6790525ce673734ef3a913e301a7001e2f500703 +62414ee44e1095052174c5b76e1d3700ef7d5597 diff --git a/packages/camera/camera/example/integration_test/camera_test.dart b/packages/camera/camera/example/integration_test/camera_test.dart index e1fe14a6132..1c5c8526c73 100644 --- a/packages/camera/camera/example/integration_test/camera_test.dart +++ b/packages/camera/camera/example/integration_test/camera_test.dart @@ -13,6 +13,10 @@ import 'package:integration_test/integration_test.dart'; import 'package:path_provider/path_provider.dart'; import 'package:video_player/video_player.dart'; +// Skip due to video_player error. +// See https://github.com/flutter/flutter/issues/157181 +bool skipFor157181 = Platform.isAndroid; + void main() { late Directory testDir; @@ -177,7 +181,7 @@ void main() { await videoController.dispose(); expect(duration, lessThan(recordingTime)); - }); + }, skip: skipFor157181); testWidgets('Pause and resume video recording', (WidgetTester tester) async { final List cameras = await availableCameras(); @@ -225,7 +229,7 @@ void main() { await videoController.dispose(); expect(duration, lessThan(recordingTime - timePaused)); - }, skip: !Platform.isAndroid); + }, skip: !Platform.isAndroid || skipFor157181); testWidgets( 'Android image streaming', diff --git a/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart b/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart index e733e1a36d6..5da28d229e7 100644 --- a/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart +++ b/packages/camera/camera_android_camerax/example/integration_test/integration_test.dart @@ -15,6 +15,10 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; import 'package:video_player/video_player.dart'; +// Skip due to video_player error. +// See https://github.com/flutter/flutter/issues/157181 +const bool skipFor157181 = true; + void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); @@ -210,7 +214,7 @@ void main() { await videoController.dispose(); expect(duration, lessThan(postStopTime)); - }); + }, skip: skipFor157181); testWidgets('Pause and resume video recording', (WidgetTester tester) async { final List cameras = await availableCameras(); @@ -255,5 +259,5 @@ void main() { await videoController.dispose(); expect(duration, lessThan(recordingTime - timePaused)); - }); + }, skip: skipFor157181); } From 6fa495e8054b7aee8ee34fa55ce7ed0a6508c044 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 23 Oct 2024 14:05:39 -0400 Subject: [PATCH 2/7] bump version --- .ci/flutter_master.version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/flutter_master.version b/.ci/flutter_master.version index 009bb766311..4a692eb2366 100644 --- a/.ci/flutter_master.version +++ b/.ci/flutter_master.version @@ -1 +1 @@ -62414ee44e1095052174c5b76e1d3700ef7d5597 +4faa4a415ec9e96f933393e7b829a1c9768e1a66 From f6759578af3f8c40f7493b076572ceeb62cbbc93 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 23 Oct 2024 20:12:36 -0400 Subject: [PATCH 3/7] fix gradle file name --- script/tool/lib/src/create_all_packages_app_command.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/tool/lib/src/create_all_packages_app_command.dart b/script/tool/lib/src/create_all_packages_app_command.dart index ee1804fc142..d905ef4afeb 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -217,7 +217,7 @@ class CreateAllPackagesAppCommand extends PackageCommand { final File gradleFile = app .platformDirectory(FlutterPlatform.android) .childDirectory('app') - .childFile('build.gradle'); + .childFile('build.gradle.kts'); // Ensure that there is a dependencies section, so the dependencies addition // below will work. From 5437d92bc36426684ef1e09a6c44d1b20bbbf100 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 23 Oct 2024 20:30:04 -0400 Subject: [PATCH 4/7] try fix script --- .../src/create_all_packages_app_command.dart | 34 +++---------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/script/tool/lib/src/create_all_packages_app_command.dart b/script/tool/lib/src/create_all_packages_app_command.dart index d905ef4afeb..f3e87985c9c 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -219,46 +219,22 @@ class CreateAllPackagesAppCommand extends PackageCommand { .childDirectory('app') .childFile('build.gradle.kts'); - // Ensure that there is a dependencies section, so the dependencies addition - // below will work. - final String content = gradleFile.readAsStringSync(); - if (!content.contains('\ndependencies {')) { - gradleFile.writeAsStringSync(''' -$content -dependencies {} -'''); - } - const String lifecycleDependency = - " implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0-rc01'"; + ' id("androidx.lifecycle:lifecycle-runtime") version "2.2.0-rc01"'; _adjustFile( gradleFile, replacements: >{ - // minSdkVersion 21 is required by camera_android. - 'minSdkVersion': ['minSdkVersion 21'], - 'compileSdkVersion': ['compileSdk 34'], + 'compileSdk': ['compileSdk = 34'], }, additions: >{ - 'defaultConfig {': [' multiDexEnabled true'], + 'defaultConfig {': [' multiDexEnabled = true'], }, regexReplacements: >{ - // Tests for https://github.com/flutter/flutter/issues/43383 - // Handling of 'dependencies' is more complex since it hasn't been very - // stable across template versions. - // - Handle an empty, collapsed dependencies section. - RegExp(r'^dependencies\s+{\s*}$'): [ - 'dependencies {', - lifecycleDependency, - '}', - ], - // - Handle a normal dependencies section. - RegExp(r'^dependencies\s+{$'): [ - 'dependencies {', + RegExp(r'^plugins\s+{$'): [ + 'plugins {', lifecycleDependency, ], - // - See below for handling of the case where there is no dependencies - // section. }, ); } From 1506f12013cde5699b501fd3fe46ee1247849e34 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 23 Oct 2024 20:38:56 -0400 Subject: [PATCH 5/7] second try lol --- .../src/create_all_packages_app_command.dart | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/script/tool/lib/src/create_all_packages_app_command.dart b/script/tool/lib/src/create_all_packages_app_command.dart index f3e87985c9c..7d966f855b1 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -219,22 +219,45 @@ class CreateAllPackagesAppCommand extends PackageCommand { .childDirectory('app') .childFile('build.gradle.kts'); + // Ensure that there is a dependencies section, so the dependencies addition + // below will work. + final String content = gradleFile.readAsStringSync(); + if (!content.contains('\ndependencies {')) { + gradleFile.writeAsStringSync(''' +$content +dependencies {} +'''); + } + const String lifecycleDependency = - ' id("androidx.lifecycle:lifecycle-runtime") version "2.2.0-rc01"'; + ' implementation("androidx.lifecycle:lifecycle-runtime:2.2.0-rc01")'; _adjustFile( gradleFile, replacements: >{ + // minSdkVersion 21 is required by camera_android. 'compileSdk': ['compileSdk = 34'], }, additions: >{ 'defaultConfig {': [' multiDexEnabled = true'], }, regexReplacements: >{ - RegExp(r'^plugins\s+{$'): [ - 'plugins {', + // Tests for https://github.com/flutter/flutter/issues/43383 + // Handling of 'dependencies' is more complex since it hasn't been very + // stable across template versions. + // - Handle an empty, collapsed dependencies section. + RegExp(r'^dependencies\s+{\s*}$'): [ + 'dependencies {', + lifecycleDependency, + '}', + ], + // - Handle a normal dependencies section. + RegExp(r'^dependencies\s+{$'): [ + 'dependencies {', lifecycleDependency, ], + // - See below for handling of the case where there is no dependencies + // section. }, ); } From c70132726d5131b6ea33d744579edf7d926e7db8 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 23 Oct 2024 20:39:56 -0400 Subject: [PATCH 6/7] no needed comment --- script/tool/lib/src/create_all_packages_app_command.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/script/tool/lib/src/create_all_packages_app_command.dart b/script/tool/lib/src/create_all_packages_app_command.dart index 7d966f855b1..6f58cad272d 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -235,7 +235,6 @@ dependencies {} _adjustFile( gradleFile, replacements: >{ - // minSdkVersion 21 is required by camera_android. 'compileSdk': ['compileSdk = 34'], }, additions: >{ From 8e2cc7677e243aa0e4a1f5c6cce8934cfe89219d Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 23 Oct 2024 21:00:45 -0400 Subject: [PATCH 7/7] support kotlin and normal --- .../src/create_all_packages_app_command.dart | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/script/tool/lib/src/create_all_packages_app_command.dart b/script/tool/lib/src/create_all_packages_app_command.dart index 6f58cad272d..cb94f7e9f6e 100644 --- a/script/tool/lib/src/create_all_packages_app_command.dart +++ b/script/tool/lib/src/create_all_packages_app_command.dart @@ -217,7 +217,13 @@ class CreateAllPackagesAppCommand extends PackageCommand { final File gradleFile = app .platformDirectory(FlutterPlatform.android) .childDirectory('app') - .childFile('build.gradle.kts'); + .listSync() + .whereType() + .firstWhere( + (File file) => file.basename.startsWith('build.gradle'), + ); + + final bool gradleFileIsKotlin = gradleFile.basename.endsWith('kts'); // Ensure that there is a dependencies section, so the dependencies addition // below will work. @@ -229,16 +235,28 @@ dependencies {} '''); } - const String lifecycleDependency = - ' implementation("androidx.lifecycle:lifecycle-runtime:2.2.0-rc01")'; + final String lifecycleDependency = gradleFileIsKotlin + ? ' implementation("androidx.lifecycle:lifecycle-runtime:2.2.0-rc01")' + : " implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0-rc01'"; _adjustFile( gradleFile, replacements: >{ - 'compileSdk': ['compileSdk = 34'], + if (gradleFileIsKotlin) + 'compileSdk': ['compileSdk = 34'] + else ...>{ + // minSdkVersion 21 is required by camera_android. + 'minSdkVersion': ['minSdkVersion 21'], + 'compileSdkVersion': ['compileSdk 34'], + } }, additions: >{ - 'defaultConfig {': [' multiDexEnabled = true'], + 'defaultConfig {': [ + if (gradleFileIsKotlin) + ' multiDexEnabled = true' + else + ' multiDexEnabled true' + ], }, regexReplacements: >{ // Tests for https://github.com/flutter/flutter/issues/43383