Build system improvements
This is a draft pull request, I'll mark it as open as soon as it can be considered ready.
Suggestions and comments are always welcome, though!
This pull request will be the first in a hopefully large set of pull request focusing on improving certain aspects of Obtainium's functionality and development.
For example, I am not ready to contribute to Obtainium if it is not using at least the latest stable Flutter version, as it makes development uncomfortable for me by making me have to install another Flutter version. I think other developers looking to contribute to this project are going to support the initiative of making the developer experience a little bit better.
The main goal of this pull request is to improve the developer experience for contributing to Obtainium without introducing code style and linting changes. I will try to limit the changes to configuration files only. I will not be modifying anything Docker or Bash related.
Changes planned in this pull request:
-
[x] Migrate to Flutter 3.38:
- [x] Change Flutter SDK version constraint to
>=3.38.0 - [x] Bump Java version to
17 - [x] Bump
com.android.applicationplugin version to8.11.1 - [x] Bump
org.jetbrains.kotlin.androidplugin version to2.2.20 - [x] Bump
ndkVersionto28.2.13676358 - [x] Bump Gradle Wrapper to
8.14
- [x] Change Flutter SDK version constraint to
-
[x] Migrate to Dart 3.10:
- [x] Change Dart SDK version constraint to
^3.10.1
- [x] Change Dart SDK version constraint to
-
[x] Upgrade
background_fetchto1.5.0:- [x] Change
background_fetchversion constraint to^1.5.0 - [x] Remove custom repository in
android/build.gradle.kts
- [x] Change
-
[x] Improve Android build system configuration
- [x] Make having a
keystore.propertiesfile optional for release builds - show a warning during build and use thedebugsigning config
- [x] Make having a
-
[x] Migrate from discontinued
flutter_markdowntoflutter_markdown_plus