Skip to content

feat!: update to AGP 9 (android) + SwiftPM (ios/macos) - #33

Merged
TesteurManiak merged 13 commits into
TesteurManiak:mainfrom
arxdeus:contribute
Jun 24, 2026
Merged

feat!: update to AGP 9 (android) + SwiftPM (ios/macos)#33
TesteurManiak merged 13 commits into
TesteurManiak:mainfrom
arxdeus:contribute

Conversation

@arxdeus

@arxdeus arxdeus commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

No description provided.

arxdeus and others added 5 commits June 23, 2026 20:12
Add Package.swift for flutter_file_manager_ios and flutter_file_manager_macos
and restructure sources under Sources/<package>/. Keep podspecs for dual
SPM/CocoaPods support with updated source_files paths.

- iOS: drop ObjC registration wrapper; Swift FlutterFileManagerIosPlugin is
  now the pluginClass directly
- Bump deployment targets (iOS 9->12, macOS 10.11->10.14)
- Repoint pigeon swiftOut to new Sources directories
- Ignore .build/ and .swiftpm/
Migrate the Android plugin to built-in Kotlin per the Flutter 3.44
breaking change, required for Android Gradle Plugin 9+.

- Convert plugin Android Gradle files to Kotlin DSL (.gradle.kts)
- Remove kotlin-android plugin and kotlinOptions; use kotlin {
  compilerOptions { jvmTarget } } block
- Update Gradle 9.1.0, AGP 9.0.1, Kotlin 2.3.20, compileSdk 36, NDK
  28.2.13676358; unify jvmTarget to 17
- Bump flutter_file_manager_android to 3.0.0 (min Flutter 3.44 / Dart
  3.12); update umbrella flutter_file_saver to 1.0.0
- Add git dependency_override for flutter_file_manager_android to the
  arxdeus fork until 3.0.0 is published

BREAKING CHANGE: minimum supported SDK is now Flutter 3.44 / Dart 3.12.
- Removed the 'use_if_null_to_convert_nulls_to_bools' rule from analysis options in both flutter_file_manager_android and flutter_file_saver.
- Updated error handling in flutter_file_manager_web to catch a more general Object type instead of web.DOMException.
(cherry picked from commit 4d9ce3c)

@TesteurManiak TesteurManiak left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution, I'll test it as soon as I have time. There's a few nitpicks and questions that I've added.

Comment thread packages/flutter_file_manager_android/pubspec.yaml
Comment thread packages/flutter_file_manager_android/analysis_options.yaml
Comment thread packages/flutter_file_manager_web/lib/flutter_file_manager_web.dart Outdated
Comment thread packages/flutter_file_saver/analysis_options.yaml
Comment thread packages/flutter_file_saver/pubspec.yaml
Comment thread melos.yaml Outdated
Comment thread packages/flutter_file_saver/pubspec.yaml Outdated
@TesteurManiak TesteurManiak added iOS android macOS dependencies Pull requests that update a dependency file labels Jun 23, 2026
@TesteurManiak TesteurManiak linked an issue Jun 23, 2026 that may be closed by this pull request
@arxdeus
arxdeus requested a review from TesteurManiak June 23, 2026 13:34
Comment thread packages/flutter_file_manager_web/lib/flutter_file_manager_web.dart Outdated
Comment thread packages/flutter_file_saver/pubspec.yaml Outdated
arxdeus added 3 commits June 23, 2026 23:42
- Added 'invalid_runtime_check_with_js_interop_types' to the analysis options with an ignore level.
- Removed the ignore directive for 'invalid_runtime_check_with_js_interop_types' from the flutter_file_manager_web.dart file.
@arxdeus
arxdeus requested a review from TesteurManiak June 23, 2026 14:52
arxdeus added 2 commits June 24, 2026 00:05
SPM compiles each Swift file independently, so per-file imports are
required. Add Flutter/UIKit to IOSMessageHandler and AppKit to
MacOSMessageHandler (NSSavePanel).
@arxdeus

arxdeus commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

@TesteurManiak re-review pls

- Bumped flutter_file_manager_android, flutter_file_manager_ios, and flutter_file_manager_macos to 3.0.0.
- Migrated iOS and macOS plugins from CocoaPods to Swift Package Manager.
- Updated minimum supported SDK version to Flutter 3.44/Dart 3.12.
- Adjusted pubspec.yaml files to reflect new versioning and SDK requirements.

@TesteurManiak TesteurManiak left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's remaining use_if_null_to_convert_nulls_to_bools in flutter_file_manager_ios and flutter_file_manager_macos. Once the analyzing step passes in CI I'll merge it 👍

@TesteurManiak

Copy link
Copy Markdown
Owner

Also, I've tested on Android, iOS & MacOS, everything seemed to work fine ✅

@arxdeus
arxdeus requested a review from TesteurManiak June 24, 2026 06:43
@TesteurManiak
TesteurManiak merged commit 8aa9f70 into TesteurManiak:main Jun 24, 2026
2 checks passed
@arxdeus
arxdeus deleted the contribute branch June 28, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

android dependencies Pull requests that update a dependency file iOS macOS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate to AGP 9

2 participants