From 41bfc07555344d7bb49caf515521742c2211499a Mon Sep 17 00:00:00 2001 From: azeam Date: Sun, 27 Jul 2025 13:46:26 +0200 Subject: [PATCH] target sdk 36 --- calamaria/android/app/build.gradle | 27 +- .../android/app/src/main/AndroidManifest.xml | 2 +- calamaria/android/build.gradle | 30 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- calamaria/android/settings.gradle | 31 +- calamaria/lib/pages/infoPages/getQuote.dart | 2 +- calamaria/pubspec.lock | 356 ++++++++++-------- calamaria/pubspec.yaml | 21 +- 8 files changed, 264 insertions(+), 207 deletions(-) diff --git a/calamaria/android/app/build.gradle b/calamaria/android/app/build.gradle index 613c389..abb0ef4 100644 --- a/calamaria/android/app/build.gradle +++ b/calamaria/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('key.properties') if (keystorePropertiesFile.exists()) { @@ -32,8 +29,8 @@ if (keystorePropertiesFile.exists()) { } android { - compileSdkVersion 34 - + namespace "com.azeam.calamaria" + compileSdkVersion 36 sourceSets { main.java.srcDirs += 'src/main/kotlin' } @@ -45,8 +42,8 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.azeam.calamaria" - minSdkVersion 19 - targetSdkVersion 34 + minSdkVersion flutter.minSdkVersion + targetSdkVersion 36 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } @@ -70,7 +67,3 @@ android { flutter { source '../..' } - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} diff --git a/calamaria/android/app/src/main/AndroidManifest.xml b/calamaria/android/app/src/main/AndroidManifest.xml index b8ce6d3..4fe18db 100644 --- a/calamaria/android/app/src/main/AndroidManifest.xml +++ b/calamaria/android/app/src/main/AndroidManifest.xml @@ -12,7 +12,7 @@ additional functionality it is fine to subclass or reimplement FlutterApplication and put your custom class here. --> + if (project.hasProperty('android')) { + project.android { + if (namespace == null) { + namespace project.group + } + } + } + } } } @@ -26,6 +24,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir -} +} \ No newline at end of file diff --git a/calamaria/android/gradle/wrapper/gradle-wrapper.properties b/calamaria/android/gradle/wrapper/gradle-wrapper.properties index 939efa2..bc65850 100644 --- a/calamaria/android/gradle/wrapper/gradle-wrapper.properties +++ b/calamaria/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip \ No newline at end of file diff --git a/calamaria/android/settings.gradle b/calamaria/android/settings.gradle index 44e62bc..8215b52 100644 --- a/calamaria/android/settings.gradle +++ b/calamaria/android/settings.gradle @@ -1,11 +1,26 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.4.0" apply false + id 'org.jetbrains.kotlin.android' version '1.8.10' apply false + id "com.google.gms.google-services" version "4.4.0" apply false +} + +include ":app" \ No newline at end of file diff --git a/calamaria/lib/pages/infoPages/getQuote.dart b/calamaria/lib/pages/infoPages/getQuote.dart index 3842859..93e8917 100644 --- a/calamaria/lib/pages/infoPages/getQuote.dart +++ b/calamaria/lib/pages/infoPages/getQuote.dart @@ -1,6 +1,6 @@ import 'dart:io'; -import 'package:package_info/package_info.dart'; +import 'package:package_info_plus/package_info_plus.dart'; Future> getQuote() async { PackageInfo packageInfo = await PackageInfo.fromPlatform(); diff --git a/calamaria/pubspec.lock b/calamaria/pubspec.lock index 60a3be7..1f5c367 100644 --- a/calamaria/pubspec.lock +++ b/calamaria/pubspec.lock @@ -5,86 +5,82 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.13.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "5bbf32bc9e518d41ec49718e2931cd4527292c9b0c6d2dffcf7fe6b9a8a8cf72" + url: "https://pub.dev" source: hosted version: "2.1.0" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.4.0" charcode: dependency: transitive description: name: charcode - url: "https://pub.dartlang.org" + sha256: "8e36feea6de5ea69f2199f29cf42a450a855738c498b57c0b980e2d3cca9c362" + url: "https://pub.dev" source: hosted version: "1.2.0" - chewie: - dependency: transitive - description: - name: chewie - url: "https://pub.dartlang.org" - source: hosted - version: "0.12.2" - chewie_audio: - dependency: transitive - description: - name: chewie_audio - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.2" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.2" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" source: hosted - version: "1.15.0" - css_colors: - dependency: transitive - description: - name: css_colors - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.2" + version: "1.19.1" csslib: dependency: transitive description: name: csslib - url: "https://pub.dartlang.org" + sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e" + url: "https://pub.dev" source: hosted - version: "0.16.2" + version: "1.0.2" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - url: "https://pub.dartlang.org" + sha256: caac504f942f41dfadcf45229ce8c47065b93919a12739f20d6173a883c5ec73 + url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.0.2" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" + url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.3" + ffi: + dependency: transitive + description: + name: ffi + sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" + url: "https://pub.dev" + source: hosted + version: "2.1.4" flutter: dependency: "direct main" description: flutter @@ -93,24 +89,17 @@ packages: flutter_html: dependency: "direct main" description: - path: "." - ref: HEAD - resolved-ref: c657e35fc18bea8c08a3cb0b2bb84d330624b86c - url: "https://github.com/azeam/flutter_html.git" - source: git - version: "1.3.0" - flutter_layout_grid: - dependency: transitive - description: - name: flutter_layout_grid - url: "https://pub.dartlang.org" + name: flutter_html + sha256: "38a2fd702ffdf3243fb7441ab58aa1bc7e6922d95a50db76534de8260638558d" + url: "https://pub.dev" source: hosted - version: "0.10.5" + version: "3.0.0" flutter_svg: dependency: "direct main" description: name: flutter_svg - url: "https://pub.dartlang.org" + sha256: "138b19e7554e97d680dc391fb21639c89db979f437a74bd2ad5ff207c0082a5c" + url: "https://pub.dev" source: hosted version: "0.20.0-nullsafety.3" flutter_test: @@ -127,132 +116,189 @@ packages: dependency: transitive description: name: html - url: "https://pub.dartlang.org" + sha256: "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602" + url: "https://pub.dev" source: hosted - version: "0.14.0+4" - import_js_library: + version: "0.15.6" + http: dependency: transitive description: - name: import_js_library - url: "https://pub.dartlang.org" + name: http + sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b" + url: "https://pub.dev" source: hosted - version: "1.0.2" - js: + version: "1.4.0" + http_parser: dependency: transitive description: - name: js - url: "https://pub.dartlang.org" + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" source: hosted - version: "0.6.3" + version: "4.1.2" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0" + url: "https://pub.dev" + source: hosted + version: "11.0.1" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" + url: "https://pub.dev" + source: hosted + version: "3.0.10" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + list_counter: + dependency: transitive + description: + name: list_counter + sha256: c447ae3dfcd1c55f0152867090e67e219d42fe6d4f2807db4bbe8b8d69912237 + url: "https://pub.dev" + source: hosted + version: "1.0.2" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + url: "https://pub.dev" source: hosted - version: "0.12.10" + version: "0.12.17" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + url: "https://pub.dev" + source: hosted + version: "0.11.1" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + url: "https://pub.dev" source: hosted - version: "1.3.0" - package_info: + version: "1.16.0" + package_info_plus: dependency: "direct main" description: - name: package_info - url: "https://pub.dartlang.org" + name: package_info_plus + sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191" + url: "https://pub.dev" + source: hosted + version: "8.3.0" + package_info_plus_platform_interface: + dependency: transitive + description: + name: package_info_plus_platform_interface + sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c" + url: "https://pub.dev" source: hosted - version: "0.4.3+2" + version: "3.2.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.1" path_drawing: dependency: transitive description: name: path_drawing - url: "https://pub.dartlang.org" + sha256: "073ff5cfd5a16ce2fac24eacef1ce6f393e6a7286669307199ac366f82924e4a" + url: "https://pub.dev" source: hosted version: "0.5.0-nullsafety.0" path_parsing: dependency: transitive description: name: path_parsing - url: "https://pub.dartlang.org" + sha256: "779c5476ebbc447a6f5969ac66697c2f441c0f523b4d0648274841c8a07a44ed" + url: "https://pub.dev" source: hosted version: "0.2.0-nullsafety.0" petitparser: dependency: transitive description: name: petitparser - url: "https://pub.dartlang.org" + sha256: f725a68581f744b9cdc680e525a20fb86491053bf5ee23562e0d6ea3ee1c173c + url: "https://pub.dev" source: hosted version: "4.0.2" photo_view: dependency: "direct main" description: name: photo_view - url: "https://pub.dartlang.org" + sha256: "1fc3d970a91295fbd1364296575f854c9863f225505c28c46e0a03e48960c75e" + url: "https://pub.dev" source: hosted - version: "0.10.2" + version: "0.15.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - quiver: - dependency: transitive - description: - name: quiver - url: "https://pub.dartlang.org" + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" source: hosted - version: "2.1.5" + version: "2.1.8" sky_engine: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: f4b22294de9a549967d0033d4f30fcad4f0afc200f4bf58e82d815725feec70c + url: "https://pub.dev" source: hosted version: "1.8.0" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.4" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: dd11571b8a03f7cadcf91ec26a77e02bfbd6bbba2a512924d3116646b4198fc4 + url: "https://pub.dev" source: hosted version: "1.1.0" swipedetector: dependency: "direct main" description: path: "." - ref: HEAD - resolved-ref: "81300423e0dba8625ff76bb99a5e0c1d010987ab" + ref: aa698b51cfbbb97fe1d40d5e8fa9ab8b33944b80 + resolved-ref: aa698b51cfbbb97fe1d40d5e8fa9ab8b33944b80 url: "https://github.com/azeam/swipedetector.git" source: git version: "1.1.0" @@ -260,128 +306,130 @@ packages: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a88162591b02c1f3a3db3af8ce1ea2b374bd75a7bb8d5e353bcfbdc79d719830 + url: "https://pub.dev" source: hosted version: "1.2.0" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + url: "https://pub.dev" source: hosted - version: "0.2.19" + version: "0.7.6" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" url_launcher: dependency: "direct main" description: name: url_launcher - url: "https://pub.dartlang.org" + sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8 + url: "https://pub.dev" + source: hosted + version: "6.3.2" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79" + url: "https://pub.dev" source: hosted - version: "5.7.6" + version: "6.3.16" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb" + url: "https://pub.dev" + source: hosted + version: "6.3.3" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - url: "https://pub.dartlang.org" + sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935" + url: "https://pub.dev" source: hosted - version: "0.0.1+1" + version: "3.2.1" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - url: "https://pub.dartlang.org" + sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" + url: "https://pub.dev" source: hosted - version: "0.0.1+8" + version: "3.2.2" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface - url: "https://pub.dartlang.org" + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" + url: "https://pub.dev" source: hosted - version: "1.0.9" + version: "2.3.2" url_launcher_web: dependency: transitive description: name: url_launcher_web - url: "https://pub.dartlang.org" + sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2" + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "2.4.1" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - url: "https://pub.dartlang.org" + sha256: "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77" + url: "https://pub.dev" source: hosted - version: "0.0.1+1" + version: "3.1.4" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - video_player: - dependency: transitive - description: - name: video_player - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - video_player_platform_interface: - dependency: transitive - description: - name: video_player_platform_interface - url: "https://pub.dartlang.org" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + url: "https://pub.dev" source: hosted version: "2.2.0" - video_player_web: - dependency: transitive - description: - name: video_player_web - url: "https://pub.dartlang.org" - source: hosted - version: "0.1.4" - wakelock: - dependency: transitive - description: - name: wakelock - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.1+1" - wakelock_platform_interface: + vm_service: dependency: transitive description: - name: wakelock_platform_interface - url: "https://pub.dartlang.org" + name: vm_service + sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" + url: "https://pub.dev" source: hosted - version: "0.1.0+1" - wakelock_web: + version: "15.0.2" + web: dependency: transitive description: - name: wakelock_web - url: "https://pub.dartlang.org" + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" source: hosted - version: "0.1.0+3" - webview_flutter: + version: "1.1.1" + win32: dependency: transitive description: - name: webview_flutter - url: "https://pub.dartlang.org" + name: win32 + sha256: "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03" + url: "https://pub.dev" source: hosted - version: "1.0.7" + version: "5.14.0" xml: dependency: transitive description: name: xml - url: "https://pub.dartlang.org" + sha256: d212eabbd5066ceba6b5187a2ae89a86c609fbba160876b493f2f5db684f0190 + url: "https://pub.dev" source: hosted version: "5.0.2" sdks: - dart: ">=2.12.0-0.0 <3.0.0" - flutter: ">=1.24.0-7.0" + dart: ">=3.8.0 <4.0.0" + flutter: ">=3.27.0" diff --git a/calamaria/pubspec.yaml b/calamaria/pubspec.yaml index fad2278..3715064 100644 --- a/calamaria/pubspec.yaml +++ b/calamaria/pubspec.yaml @@ -15,22 +15,25 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 0.1.5+5 +version: 0.1.6+6 environment: - sdk: ">=2.7.0 <3.0.0" + sdk: ">=2.12.0 <3.0.0" dependencies: flutter: sdk: flutter swipedetector: # swipe left/right between id pages - git: https://github.com/azeam/swipedetector.git # forked to remove prints and update sdk version requirements - flutter_html: # render html - git: https://github.com/azeam/flutter_html.git # forked to get alt attribute from images to use as title in fullscreen - photo_view: ^0.10.2 # for full screen images - url_launcher: ^5.7.5 # for opening urls in native browser - package_info: ^0.4.3+2 # get app version in app - + git: + url: https://github.com/azeam/swipedetector.git # forked to remove prints and update sdk version requirements + ref: aa698b51cfbbb97fe1d40d5e8fa9ab8b33944b80 + flutter_html: + git: + url: https://github.com/azeam/flutter_html.git + ref: abb06f60315acb8107926d3ca1a7dbcd7de03c3b # forked to get alt attribute from images to use as title in fullscreen + photo_view: ^0.15.0 # for full screen images + url_launcher: ^6.3.2 # for opening urls in native browser + package_info_plus: ^8.3.0 # get app version in app # flutter_html also depends on flutter_svg (used) flutter_svg: ^0.20.0-nullsafety.0