From c4e33a4c1a9129fe114c0aa07137c1c06ea4b131 Mon Sep 17 00:00:00 2001 From: Ben Hagen Date: Mon, 23 Jun 2025 11:42:05 +0200 Subject: [PATCH] Use FVM in GitHub Actions and migrate to Flutter 3.32.4 (#641) * feat: implement Flutter version management using FVM across CI workflows * Flutter 3.29.3 + minor Package upgrades * Replace deprecated `withOpacity` * Upgrade major package versions without breaking changes. * Disable unnecessary_async rule Re-enable later * New language version and automated fixes - unnecessary_breaks - unnecessary_underscore * Update BUILDING.md to use fvm commands * Add gitignore files for Android and iOS build artifacts * Migrate iOS dependencies to Swift Package Manager This is being done automatically by Flutter * Flutter 3.32.4 * New sdk version * docs: add IDE setup instructions and troubleshooting guide for FVM integration --- .fvmrc | 3 + .github/workflows/android.yaml | 22 +- .github/workflows/ci.yaml | 21 +- .github/workflows/ios.yaml | 17 +- .gitignore | 3 + BUILDING.md | 74 +++- analysis_options.yaml | 3 + android/.gitignore | 14 + docs/android_studio_fvm.png | Bin 0 -> 143132 bytes ios/.gitignore | 34 ++ ios/Runner.xcodeproj/project.pbxproj | 54 +-- .../xcshareddata/swiftpm/Package.resolved | 69 +++ .../xcshareddata/xcschemes/Runner.xcscheme | 19 + .../xcshareddata/swiftpm/Package.resolved | 69 +++ lib/api.dart | 4 - lib/api_form.dart | 11 - lib/barcode/barcode.dart | 3 +- lib/barcode/camera_controller.dart | 109 ++--- lib/inventree/model.dart | 2 - lib/main.dart | 3 - lib/settings/app_settings.dart | 3 - lib/settings/barcode_settings.dart | 2 - lib/widget/dialogs.dart | 2 - lib/widget/part/part_suppliers.dart | 2 +- pubspec.lock | 400 ++++++++++-------- pubspec.yaml | 7 +- tasks.py | 10 +- 27 files changed, 630 insertions(+), 330 deletions(-) create mode 100644 .fvmrc create mode 100644 android/.gitignore create mode 100644 docs/android_studio_fvm.png create mode 100644 ios/.gitignore create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved create mode 100644 ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved diff --git a/.fvmrc b/.fvmrc new file mode 100644 index 00000000..984aec1c --- /dev/null +++ b/.fvmrc @@ -0,0 +1,3 @@ +{ + "flutter": "3.32.4" +} \ No newline at end of file diff --git a/.github/workflows/android.yaml b/.github/workflows/android.yaml index c1e2a002..117c9a85 100644 --- a/.github/workflows/android.yaml +++ b/.github/workflows/android.yaml @@ -15,25 +15,39 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v3 + - name: Setup Java uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '17' - - name: Setup Flutter - uses: subosito/flutter-action@v2 + + - name: Setup FVM + id: fvm-config-action + uses: kuhnroyal/flutter-fvm-config-action@v2 + + - uses: subosito/flutter-action@v2 with: - flutter-version: '3.32.2' - channel: 'stable' + flutter-version: ${{ steps.fvm-config-action.outputs.FLUTTER_VERSION }} + channel: ${{ steps.fvm-config-action.outputs.FLUTTER_CHANNEL }} + cache: true + cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" + cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" + pub-cache-key: "flutter-pub:os:-:channel:-:version:-:arch:-:hash:" + pub-cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" + - run: flutter --version + - name: Setup Gradle uses: gradle/gradle-build-action@v2.4.2 with: gradle-version: 8.7 + - name: Collect Translation Files run: | cd lib/l10n python3 collect_translations.py + - name: Build for Android run: | flutter pub get diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 19e20245..0dddcf8f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -29,19 +29,32 @@ jobs: uses: actions/checkout@v3 with: submodules: recursive + - name: Setup Java uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '11' - - name: Setup Flutter - uses: subosito/flutter-action@v2 + + - name: Setup Flutter and FVM + id: fvm-config-action + uses: kuhnroyal/flutter-fvm-config-action@v2 + + - uses: subosito/flutter-action@v2 with: - flutter-version: '3.32.2' + flutter-version: ${{ steps.fvm-config-action.outputs.FLUTTER_VERSION }} + channel: ${{ steps.fvm-config-action.outputs.FLUTTER_CHANNEL }} + cache: true + cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" + cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" + pub-cache-key: "flutter-pub:os:-:channel:-:version:-:arch:-:hash:" + pub-cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" + - name: Collect Translation Files run: | cd lib/l10n python3 collect_translations.py + - name: Static Analysis Tests run: | python3 find_dart_files.py @@ -52,6 +65,7 @@ jobs: uses: actions/setup-python@v4 with: python-version: 3.9 + - name: Start InvenTree Server run: | sudo apt-get install python3-dev python3-pip python3-venv python3-wheel g++ @@ -64,6 +78,7 @@ jobs: invoke dev.server -a 127.0.0.1:8000 & invoke wait sleep 30 + - name: Unit Tests run: | flutter test --coverage diff --git a/.github/workflows/ios.yaml b/.github/workflows/ios.yaml index 2dc8235f..53e8a301 100644 --- a/.github/workflows/ios.yaml +++ b/.github/workflows/ios.yaml @@ -17,20 +17,33 @@ jobs: uses: actions/checkout@v3 with: submodules: recursive + - name: Setup Java uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '11' + + - name: Setup FVM + id: fvm-config-action + uses: kuhnroyal/flutter-fvm-config-action@v2 + - name: Setup Flutter uses: subosito/flutter-action@v2 with: - flutter-version: '3.32.2' - channel: 'stable' + flutter-version: ${{ steps.fvm-config-action.outputs.FLUTTER_VERSION }} + channel: ${{ steps.fvm-config-action.outputs.FLUTTER_CHANNEL }} + cache: true + cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" + cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" + pub-cache-key: "flutter-pub:os:-:channel:-:version:-:arch:-:hash:" + pub-cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" + - name: Collect Translation Files run: | cd lib/l10n python3 collect_translations.py + - name: Build for iOS run: | flutter pub get diff --git a/.gitignore b/.gitignore index 96b35284..8effbf9a 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,6 @@ ios/Podfile.lock !**/ios/**/default.pbxuser !**/ios/**/default.perspectivev3 !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages + +# FVM Version Cache +.fvm/ \ No newline at end of file diff --git a/BUILDING.md b/BUILDING.md index 9e1d3fea..c05e8e72 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -6,7 +6,8 @@ For developers looking to contribute to the project, we use Flutter for app deve To build the app from source, you will need the following tools installed on your system: -- Android Studio (with Flutter and Dart plugins) +- Android Studio or Visual Studio Code (with Flutter and Dart plugins) +- [Flutter Version Management (FVM)](https://fvm.app/) - We use FVM to manage Flutter versions ### iOS Development @@ -19,13 +20,61 @@ Some versions of Android Studio ship with a built-in version of the Java JDK. Ho If you see any errors related to JDK version mismatch, download and install the correct version of the JDK (from the link above) and update your Android Studio settings to point to the correct JDK location: ```bash -flutter config --jdk-dir /path/to/jdk +fvm flutter config --jdk-dir /path/to/jdk ``` ## Invoke Tasks We use the [invoke](https://www.pyinvoke.org) to run some core tasks - you will need python and invoke installed on your local system. +## Flutter Version Management (FVM) + +This project uses [Flutter Version Management (FVM)](https://fvm.app/) to ensure consistent Flutter versions across development environments and CI/CD pipelines. + +For installation instructions, please refer to the [official FVM documentation](https://fvm.app/documentation/getting-started/installation). + +Once installed, FVM will automatically use the Flutter version specified in the `.fvmrc` file at the root of the project. + +### Visual Studio Code + +To set up Visual Studio Code, you will need to make sure the `.vscode` directory exists. Then run `fvm use` to ensure the correct Flutter version is used. + +``` +mkdir -p .vscode +fvm use +``` + +#### What happens: +- Downloads SDK if not cached +- Creates `.fvm` directory with SDK symlink +- Updates `.fvmrc` configuration +- Configures IDE settings +- Runs `flutter pub get` + + +### Android Studio + +To set up Android Studio, run `fvm use` to ensure the correct Flutter version is used. + +``` +fvm use +``` + +#### What happens: +- Downloads SDK if not cached +- Creates `.fvm` directory with SDK symlink +- Updates `.fvmrc` configuration +- Runs `flutter pub get` + +Set Flutter SDK path in Android Studio: + +1. Open Android Studio +2. Go to `File` -> `Settings` -> `Languages & Frameworks` -> `Flutter` +3. Set `Flutter SDK path` to `.fvm/flutter_sdk`: + +![Setting Flutter SDK path in Android Studio](android_studio_fvm.png) + + ## Getting Started Initial project setup (after you have installed all required dev tools) is as follows: @@ -38,11 +87,30 @@ invoke translate Install required flutter packages: ``` -flutter pub get +fvm flutter pub get ``` You should now be ready to debug on a connected or emulated device! +## Troubleshooting + +### Flutter Doctor + +If you're experiencing issues with the development environment, run Flutter Doctor to diagnose problems: + +```bash +fvm flutter doctor -v +``` + +This will check your Flutter installation and identify any issues with your setup. Common issues include: + +- Missing Android SDK components +- iOS development tools not properly configured +- Missing dependencies + +Fix any identified issues before proceeding with development. + + ## Building Release Versions Building release versions for target platforms (either android or iOS) is simplified using invoke: diff --git a/analysis_options.yaml b/analysis_options.yaml index c470baee..eed06a48 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -80,3 +80,6 @@ linter: use_super_parameters: false + # TODO: Enable unnecessary_async and unawaited_futures rules + unnecessary_async: false + diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 00000000..97a5d137 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,14 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java +.cxx/ + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks \ No newline at end of file diff --git a/docs/android_studio_fvm.png b/docs/android_studio_fvm.png new file mode 100644 index 0000000000000000000000000000000000000000..4d497b9083518ac3f3e8cf8449e7b73b7e1dff88 GIT binary patch literal 143132 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�l+)(G!9%+SE^@XAC%)?uOXQA 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 KS9~z~^nU;ZYNp@- literal 0 HcmV?d00001 diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 00000000..0ca5a97b --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 \ No newline at end of file diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index bda4a2a4..0e0897d9 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; @@ -56,6 +57,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, D95D9CD46BE28F7F69DBC0F6 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -157,6 +159,9 @@ dependencies = ( ); name = Runner; + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); productName = Runner; productReference = 97C146EE1CF9000F007C117D /* Runner.app */; productType = "com.apple.product-type.application"; @@ -186,6 +191,9 @@ Base, ); mainGroup = 97C146E51CF9000F007C117D; + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, + ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; projectRoot = ""; @@ -270,47 +278,15 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/DKImagePickerController/DKImagePickerController.framework", - "${BUILT_PRODUCTS_DIR}/DKPhotoGallery/DKPhotoGallery.framework", - "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework", - "${BUILT_PRODUCTS_DIR}/Sentry/Sentry.framework", - "${BUILT_PRODUCTS_DIR}/SwiftyGif/SwiftyGif.framework", "${BUILT_PRODUCTS_DIR}/audioplayers_darwin/audioplayers_darwin.framework", - "${BUILT_PRODUCTS_DIR}/camera_avfoundation/camera_avfoundation.framework", - "${BUILT_PRODUCTS_DIR}/device_info_plus/device_info_plus.framework", - "${BUILT_PRODUCTS_DIR}/file_picker/file_picker.framework", "${BUILT_PRODUCTS_DIR}/flutter_zxing/flutter_zxing.framework", - "${BUILT_PRODUCTS_DIR}/image_picker_ios/image_picker_ios.framework", "${BUILT_PRODUCTS_DIR}/open_filex/open_filex.framework", - "${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework", - "${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework", - "${BUILT_PRODUCTS_DIR}/sentry_flutter/sentry_flutter.framework", - "${BUILT_PRODUCTS_DIR}/shared_preferences_foundation/shared_preferences_foundation.framework", - "${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework", - "${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework", - "${BUILT_PRODUCTS_DIR}/wakelock_plus/wakelock_plus.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DKImagePickerController.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DKPhotoGallery.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sentry.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyGif.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/audioplayers_darwin.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/camera_avfoundation.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info_plus.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/file_picker.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_zxing.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/image_picker_ios.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/open_filex.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sentry_flutter.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_foundation.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/wakelock_plus.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -640,6 +616,20 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { + isa = XCSwiftPackageProductDependency; + productName = FlutterGeneratedPluginSwiftPackage; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; } diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 00000000..819c57b6 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,69 @@ +{ + "originHash" : "820af3cc63f10647eb1a29c6d280a54dd695478a4b5abdddf411bf17c43695a0", + "pins" : [ + { + "identity" : "dkcamera", + "kind" : "remoteSourceControl", + "location" : "https://github.com/zhangao0086/DKCamera", + "state" : { + "branch" : "master", + "revision" : "5c691d11014b910aff69f960475d70e65d9dcc96" + } + }, + { + "identity" : "dkimagepickercontroller", + "kind" : "remoteSourceControl", + "location" : "https://github.com/zhangao0086/DKImagePickerController", + "state" : { + "branch" : "4.3.9", + "revision" : "0bdfeacefa308545adde07bef86e349186335915" + } + }, + { + "identity" : "dkphotogallery", + "kind" : "remoteSourceControl", + "location" : "https://github.com/zhangao0086/DKPhotoGallery", + "state" : { + "branch" : "master", + "revision" : "311c1bc7a94f1538f82773a79c84374b12a2ef3d" + } + }, + { + "identity" : "sdwebimage", + "kind" : "remoteSourceControl", + "location" : "https://github.com/SDWebImage/SDWebImage", + "state" : { + "revision" : "cac9a55a3ae92478a2c95042dcc8d9695d2129ca", + "version" : "5.21.0" + } + }, + { + "identity" : "sentry-cocoa", + "kind" : "remoteSourceControl", + "location" : "https://github.com/getsentry/sentry-cocoa", + "state" : { + "revision" : "491c87a32af58414bd03825b3029526640d3e73d", + "version" : "8.50.0" + } + }, + { + "identity" : "swiftygif", + "kind" : "remoteSourceControl", + "location" : "https://github.com/kirualex/SwiftyGif.git", + "state" : { + "revision" : "4430cbc148baa3907651d40562d96325426f409a", + "version" : "5.4.5" + } + }, + { + "identity" : "tocropviewcontroller", + "kind" : "remoteSourceControl", + "location" : "https://github.com/TimOliver/TOCropViewController", + "state" : { + "revision" : "a634cb7cdfd580006e79a6e74e64417fe9e9783b", + "version" : "2.7.4" + } + } + ], + "version" : 3 +} diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 5e31d3d3..128d5765 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -5,6 +5,24 @@ + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 00000000..819c57b6 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,69 @@ +{ + "originHash" : "820af3cc63f10647eb1a29c6d280a54dd695478a4b5abdddf411bf17c43695a0", + "pins" : [ + { + "identity" : "dkcamera", + "kind" : "remoteSourceControl", + "location" : "https://github.com/zhangao0086/DKCamera", + "state" : { + "branch" : "master", + "revision" : "5c691d11014b910aff69f960475d70e65d9dcc96" + } + }, + { + "identity" : "dkimagepickercontroller", + "kind" : "remoteSourceControl", + "location" : "https://github.com/zhangao0086/DKImagePickerController", + "state" : { + "branch" : "4.3.9", + "revision" : "0bdfeacefa308545adde07bef86e349186335915" + } + }, + { + "identity" : "dkphotogallery", + "kind" : "remoteSourceControl", + "location" : "https://github.com/zhangao0086/DKPhotoGallery", + "state" : { + "branch" : "master", + "revision" : "311c1bc7a94f1538f82773a79c84374b12a2ef3d" + } + }, + { + "identity" : "sdwebimage", + "kind" : "remoteSourceControl", + "location" : "https://github.com/SDWebImage/SDWebImage", + "state" : { + "revision" : "cac9a55a3ae92478a2c95042dcc8d9695d2129ca", + "version" : "5.21.0" + } + }, + { + "identity" : "sentry-cocoa", + "kind" : "remoteSourceControl", + "location" : "https://github.com/getsentry/sentry-cocoa", + "state" : { + "revision" : "491c87a32af58414bd03825b3029526640d3e73d", + "version" : "8.50.0" + } + }, + { + "identity" : "swiftygif", + "kind" : "remoteSourceControl", + "location" : "https://github.com/kirualex/SwiftyGif.git", + "state" : { + "revision" : "4430cbc148baa3907651d40562d96325426f409a", + "version" : "5.4.5" + } + }, + { + "identity" : "tocropviewcontroller", + "kind" : "remoteSourceControl", + "location" : "https://github.com/TimOliver/TOCropViewController", + "state" : { + "revision" : "a634cb7cdfd580006e79a6e74e64417fe9e9783b", + "version" : "2.7.4" + } + } + ], + "version" : 3 +} diff --git a/lib/api.dart b/lib/api.dart index aee69491..c8e706fa 100644 --- a/lib/api.dart +++ b/lib/api.dart @@ -593,10 +593,8 @@ class InvenTreeAPI { L10().serverAuthenticationError, L10().invalidUsernamePassword, ); - break; default: showStatusCodeError(apiUrl, response.statusCode); - break; } debug("Token request failed: STATUS ${response.statusCode}"); @@ -1342,7 +1340,6 @@ class InvenTreeAPI { "responseData": response.data.toString(), } ); - break; } } else { @@ -1414,7 +1411,6 @@ class InvenTreeAPI { "endpoint": url, } ); - break; } showServerError( diff --git a/lib/api_form.dart b/lib/api_form.dart index c1cabbd4..75ea5d95 100644 --- a/lib/api_form.dart +++ b/lib/api_form.dart @@ -1171,7 +1171,6 @@ class _APIFormWidgetState extends State { case "related field": case "choice": widgets.add(Divider(height: 15)); - break; default: break; } @@ -1202,10 +1201,8 @@ class _APIFormWidgetState extends State { case "choice": widgets.add(Divider(height: 15)); spacerRequired = false; - break; default: spacerRequired = true; - break; } } @@ -1344,7 +1341,6 @@ class _APIFormWidgetState extends State { } } - break; } if (!match) { @@ -1473,43 +1469,36 @@ class _APIFormWidgetState extends State { extractNonFieldErrors(response); checkInvalidErrors(response); - break; case 401: showSnackIcon( "401: " + L10().response401, success: false ); - break; case 403: showSnackIcon( "403: " + L10().response403, success: false, ); - break; case 404: showSnackIcon( "404: " + L10().response404, success: false, ); - break; case 405: showSnackIcon( "405: " + L10().response405, success: false, ); - break; case 500: showSnackIcon( "500: " + L10().response500, success: false, ); - break; default: showSnackIcon( "${response.statusCode}: " + L10().responseInvalid, success: false, ); - break; } setState(() { diff --git a/lib/barcode/barcode.dart b/lib/barcode/barcode.dart index 0de089e7..7cd2f0f0 100644 --- a/lib/barcode/barcode.dart +++ b/lib/barcode/barcode.dart @@ -88,7 +88,6 @@ Future scanBarcode(BuildContext context, {BarcodeHandler? handler}) asy switch (barcodeControllerType) { case BARCODE_CONTROLLER_WEDGE: controller = WedgeBarcodeController(handler); - break; case BARCODE_CONTROLLER_CAMERA: default: // Already set as default option @@ -97,7 +96,7 @@ Future scanBarcode(BuildContext context, {BarcodeHandler? handler}) asy return Navigator.of(context).push( PageRouteBuilder( - pageBuilder: (context, _, __) => controller, + pageBuilder: (context, _, _) => controller, opaque: false, ) ); diff --git a/lib/barcode/camera_controller.dart b/lib/barcode/camera_controller.dart index 7e44de59..d6bfa6a0 100644 --- a/lib/barcode/camera_controller.dart +++ b/lib/barcode/camera_controller.dart @@ -24,7 +24,7 @@ import "package:inventree/barcode/controller.dart"; */ class CameraBarcodeController extends InvenTreeBarcodeController { const CameraBarcodeController(BarcodeHandler handler, {Key? key}) - : super(handler, key: key); + : super(handler, key: key); @override State createState() => _CameraBarcodeControllerState(); @@ -43,7 +43,7 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { String scanned_code = ""; final MobileScannerController controller = MobileScannerController( - autoZoom: true + autoZoom: true, ); @override @@ -63,11 +63,14 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { * Load the barcode scanning settings */ Future _loadSettings() async { - bool _single = await InvenTreeSettingsManager() - .getBool(INV_BARCODE_SCAN_SINGLE, false); + bool _single = await InvenTreeSettingsManager().getBool( + INV_BARCODE_SCAN_SINGLE, + false, + ); - int _delay = await InvenTreeSettingsManager() - .getValue(INV_BARCODE_SCAN_DELAY, 500) as int; + int _delay = + await InvenTreeSettingsManager().getValue(INV_BARCODE_SCAN_DELAY, 500) + as int; if (mounted) { setState(() { @@ -80,7 +83,6 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { @override Future pauseScan() async { - if (mounted) { setState(() { scanning_paused = true; @@ -90,7 +92,6 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { @override Future resumeScan() async { - controller.start(); if (mounted) { @@ -114,8 +115,7 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { setState(() { multiple_barcodes = false; }); - } - else if (result.barcodes.length > 1) { + } else if (result.barcodes.length > 1) { setState(() { multiple_barcodes = true; }); @@ -177,7 +177,7 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { sentryReportError( "CameraBarcodeController.onControllerCreated", error, - null + null, ); } @@ -185,7 +185,7 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { showSnackIcon( L10().cameraCreationError, icon: TablerIcons.camera_x, - success: false + success: false, ); if (OneContext.hasContext) { @@ -195,7 +195,6 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { } Widget BarcodeOverlay(BuildContext context) { - final Size screenSize = MediaQuery.of(context).size; final double width = screenSize.width; final double height = screenSize.height; @@ -220,14 +219,11 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { width: D, height: D, decoration: BoxDecoration( - border: Border.all( - color: overlayColor, - width: 4, - ), + border: Border.all(color: overlayColor, width: 4), ), - ) - ) - ] + ), + ), + ], ); } @@ -235,7 +231,6 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { * Build the barcode reader widget */ Widget BarcodeReader(BuildContext context) { - final Size screenSize = MediaQuery.of(context).size; final double width = screenSize.width; final double height = screenSize.height; @@ -250,7 +245,7 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { scanWindow: Rect.fromCenter( center: Offset(width / 2, height / 2), width: D, - height: D + height: D, ), onDetect: (result) { onScanSuccess(result); @@ -263,28 +258,23 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { child: Align( alignment: Alignment.topCenter, child: Padding( - padding: EdgeInsets.only( - left: 10, - right: 10, - top: 75, - bottom: 10 - ), + padding: EdgeInsets.only(left: 10, right: 10, top: 75, bottom: 10), child: Text( widget.handler.getOverlayText(context), style: TextStyle( color: Colors.white, fontSize: 16, - fontWeight: FontWeight.bold - ) - ) - ) - ) + fontWeight: FontWeight.bold, + ), + ), + ), + ), ); } Widget bottomCenterOverlay() { - - String info_text = scanning_paused ? L10().barcodeScanPaused : L10().barcodeScanPause; + String info_text = + scanning_paused ? L10().barcodeScanPaused : L10().barcodeScanPause; String text = scanned_code.isNotEmpty ? scanned_code : info_text; @@ -296,28 +286,22 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { child: Align( alignment: Alignment.bottomCenter, child: Padding( - padding: EdgeInsets.only( - left: 10, - right: 10, - top: 10, - bottom: 75 - ), + padding: EdgeInsets.only(left: 10, right: 10, top: 10, bottom: 75), child: Text( - text, - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.white, - fontSize: 16, - fontWeight: FontWeight.bold - ) + text, + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.white, + fontSize: 16, + fontWeight: FontWeight.bold, + ), ), - ) - ) + ), + ), ); } Widget? buildActions(BuildContext context) { - List actions = [ SpeedDialChild( child: Icon(flash_status ? TablerIcons.bulb_off : TablerIcons.bulb), @@ -329,26 +313,22 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { flash_status = !flash_status; }); } - } + }, ), SpeedDialChild( child: Icon(TablerIcons.camera), label: L10().switchCamera, onTap: () async { controller.switchCamera(); - } - ) + }, + ), ]; - return SpeedDial( - icon: Icons.more_horiz, - children: actions, - ); + return SpeedDial(icon: Icons.more_horiz, children: actions); } @override Widget build(BuildContext context) { - return Scaffold( appBar: AppBar( backgroundColor: COLOR_APP_BAR, @@ -366,19 +346,12 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { }, child: Stack( children: [ - Column( - children: [ - Expanded( - child: BarcodeReader(context) - ), - ], - ), + Column(children: [Expanded(child: BarcodeReader(context))]), topCenterOverlay(), - bottomCenterOverlay() + bottomCenterOverlay(), ], ), ), ); } - } diff --git a/lib/inventree/model.dart b/lib/inventree/model.dart index 07b74f83..6df483af 100644 --- a/lib/inventree/model.dart +++ b/lib/inventree/model.dart @@ -584,7 +584,6 @@ class InvenTreeModel { L10().itemDeleted, success: false, ); - break; default: String detail = L10().errorFetch; detail += "\n${L10().statusCode}: ${response.statusCode}"; @@ -594,7 +593,6 @@ class InvenTreeModel { L10().serverError, detail ); - break; } return false; diff --git a/lib/main.dart b/lib/main.dart index e1ea41a2..033ef21a 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -66,15 +66,12 @@ Future main() async { switch (orientation) { case SCREEN_ORIENTATION_PORTRAIT: orientations.add(DeviceOrientation.portraitUp); - break; case SCREEN_ORIENTATION_LANDSCAPE: orientations.add(DeviceOrientation.landscapeLeft); - break; default: orientations.add(DeviceOrientation.portraitUp); orientations.add(DeviceOrientation.landscapeLeft); orientations.add(DeviceOrientation.landscapeRight); - break; } SystemChrome.setPreferredOrientations(orientations).then((_) { diff --git a/lib/settings/app_settings.dart b/lib/settings/app_settings.dart index 8eba55bd..2443e812 100644 --- a/lib/settings/app_settings.dart +++ b/lib/settings/app_settings.dart @@ -143,14 +143,11 @@ class _InvenTreeAppSettingsState extends State { switch (screenOrientation) { case SCREEN_ORIENTATION_PORTRAIT: orientationIcon = Icons.screen_lock_portrait; - break; case SCREEN_ORIENTATION_LANDSCAPE: orientationIcon = Icons.screen_lock_landscape; - break; case SCREEN_ORIENTATION_SYSTEM: default: orientationIcon = Icons.screen_rotation; - break; } return Scaffold( diff --git a/lib/settings/barcode_settings.dart b/lib/settings/barcode_settings.dart index 08a7bf60..f3776cd2 100644 --- a/lib/settings/barcode_settings.dart +++ b/lib/settings/barcode_settings.dart @@ -104,11 +104,9 @@ class _InvenTreeBarcodeSettingsState extends State showErrorDialog(String title, {String description = "", APIResponse ) ); } - break; default: // Unhandled server response children.add( @@ -180,7 +179,6 @@ Future showErrorDialog(String title, {String description = "", APIResponse ) ); - break; } } diff --git a/lib/widget/part/part_suppliers.dart b/lib/widget/part/part_suppliers.dart index 73b5cb32..204ac6e7 100644 --- a/lib/widget/part/part_suppliers.dart +++ b/lib/widget/part/part_suppliers.dart @@ -68,7 +68,7 @@ class _PartSupplierState extends RefreshableState { return ListView.separated( shrinkWrap: true, physics: ClampingScrollPhysics(), - separatorBuilder: (_, __) => const Divider(height: 3), + separatorBuilder: (_, _) => const Divider(height: 3), itemCount: _supplierParts.length, itemBuilder: _supplierPartTile, ); diff --git a/pubspec.lock b/pubspec.lock index 002a6e38..9520e7e5 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: "direct main" description: name: adaptive_theme - sha256: f4ee609b464e5efc68131d9d15ba9aa1de4e3b5ede64be17781c6e19a52d637d + sha256: caa49b4c73b681bf12a641dff77aa1383262a00cf38b9d1a25b180e275ba5ab9 url: "https://pub.dev" source: hosted - version: "3.6.0" + version: "3.7.0" analyzer: dependency: transitive description: @@ -29,20 +29,20 @@ packages: dependency: transitive description: name: archive - sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d + sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd" url: "https://pub.dev" source: hosted - version: "3.6.1" + version: "4.0.7" args: dependency: transitive description: name: args - sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.7.0" async: - dependency: transitive + dependency: "direct main" description: name: async sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" @@ -53,58 +53,58 @@ packages: dependency: "direct main" description: name: audioplayers - sha256: c346ba5a39dc208f1bab55fc239855f573d69b0e832402114bf0b793622adc4d + sha256: a5341380a4f1d3a10a4edde5bb75de5127fe31e0faa8c4d860e64d2f91ad84c7 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "6.4.0" audioplayers_android: dependency: transitive description: name: audioplayers_android - sha256: de576b890befe27175c2f511ba8b742bec83765fa97c3ce4282bba46212f58e4 + sha256: f8c90823a45b475d2c129f85bbda9c029c8d4450b172f62e066564c6e170f69a url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "5.2.0" audioplayers_darwin: dependency: transitive description: name: audioplayers_darwin - sha256: e507887f3ff18d8e5a10a668d7bedc28206b12e10b98347797257c6ae1019c3b + sha256: "405cdbd53ebdb4623f1c5af69f275dad4f930ce895512d5261c07cd95d23e778" url: "https://pub.dev" source: hosted - version: "6.0.0" + version: "6.2.0" audioplayers_linux: dependency: transitive description: name: audioplayers_linux - sha256: "3d3d244c90436115417f170426ce768856d8fe4dfc5ed66a049d2890acfa82f9" + sha256: "7e0d081a6a527c53aef9539691258a08ff69a7dc15ef6335fbea1b4b03ebbef0" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.2.0" audioplayers_platform_interface: dependency: transitive description: name: audioplayers_platform_interface - sha256: "6834dd48dfb7bc6c2404998ebdd161f79cd3774a7e6779e1348d54a3bfdcfaa5" + sha256: "77e5fa20fb4a64709158391c75c1cca69a481d35dc879b519e350a05ff520373" url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "7.1.0" audioplayers_web: dependency: transitive description: name: audioplayers_web - sha256: "3609bdf0e05e66a3d9750ee40b1e37f2a622c4edb796cc600b53a90a30a2ace4" + sha256: bd99d8821114747682a2be0adcdb70233d4697af989b549d3a20a0f49f6c9b13 url: "https://pub.dev" source: hosted - version: "5.0.1" + version: "5.1.0" audioplayers_windows: dependency: transitive description: name: audioplayers_windows - sha256: "8605762dddba992138d476f6a0c3afd9df30ac5b96039929063eceed416795c2" + sha256: "871d3831c25cd2408ddc552600fd4b32fba675943e319a41284704ee038ad563" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.2.0" back_button_interceptor: dependency: transitive description: @@ -125,26 +125,26 @@ packages: dependency: "direct main" description: name: cached_network_image - sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f" + sha256: "7c1183e361e5c8b0a0f21a28401eecdbde252441106a9816400dd4c2b2424916" url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.4.1" cached_network_image_platform_interface: dependency: transitive description: name: cached_network_image_platform_interface - sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f" + sha256: "35814b016e37fbdc91f7ae18c8caf49ba5c88501813f73ce8a07027a395e2829" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.1.1" cached_network_image_web: dependency: transitive description: name: cached_network_image_web - sha256: "205d6a9f1862de34b93184f22b9d2d94586b2f05c581d546695e3d8f6a805cd7" + sha256: "980842f4e8e2535b8dbd3d5ca0b1f0ba66bf61d14cc3a17a9b4788a3685ba062" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.1" camera: dependency: "direct main" description: @@ -157,18 +157,18 @@ packages: dependency: transitive description: name: camera_android_camerax - sha256: "0bd3d1645df00af2540a22df13ba466ac5fb2838a09bce4089cecdb1712a9e94" + sha256: b4197bd6ce75bc66963a904c34c4cbb6aaa2260a5d4aca13b3556926cf3a92b8 url: "https://pub.dev" source: hosted - version: "0.6.18" + version: "0.6.18+3" camera_avfoundation: dependency: transitive description: name: camera_avfoundation - sha256: fdc0e668f65c8ddfb3be6c10ef4737fb6274cd04d8053a9525d410642f7989c0 + sha256: ca244564876d5a76f2126bca501aec25243cad23ba1784819242aea2fd25cf70 url: "https://pub.dev" source: hosted - version: "0.9.19+1" + version: "0.9.19+2" camera_platform_interface: dependency: transitive description: @@ -197,10 +197,10 @@ packages: dependency: transitive description: name: checked_yaml - sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f" url: "https://pub.dev" source: hosted - version: "2.0.3" + version: "2.0.4" cli_config: dependency: transitive description: @@ -237,18 +237,18 @@ packages: dependency: transitive description: name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" coverage: dependency: transitive description: name: coverage - sha256: "4b8701e48a58f7712492c9b1f7ba0bb9d525644dd66d023b62e1fc8cdb560c8a" + sha256: aa07dbe5f2294c827b7edb9a87bba44a9c15a3cc81bc8da2ca19b37322d30080 url: "https://pub.dev" source: hosted - version: "1.14.0" + version: "1.14.1" cross_file: dependency: transitive description: @@ -261,10 +261,10 @@ packages: dependency: transitive description: name: crypto - sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27 + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.6" cupertino_icons: dependency: "direct main" description: @@ -301,18 +301,18 @@ packages: dependency: "direct main" description: name: device_info_plus - sha256: a7fd703482b391a87d60b6061d04dfdeab07826b96f9abd8f5ed98068acc0074 + sha256: "0c6396126421b590089447154c5f98a5de423b70cfb15b1578fd018843ee6f53" url: "https://pub.dev" source: hosted - version: "10.1.2" + version: "11.4.0" device_info_plus_platform_interface: dependency: transitive description: name: device_info_plus_platform_interface - sha256: "282d3cf731045a2feb66abfe61bbc40870ae50a3ed10a4d3d217556c35c8c2ba" + sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2" url: "https://pub.dev" source: hosted - version: "7.0.1" + version: "7.0.2" dropdown_search: dependency: "direct main" description: @@ -333,42 +333,42 @@ packages: dependency: transitive description: name: ffi - sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" + sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.4" file: dependency: transitive description: name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 url: "https://pub.dev" source: hosted - version: "6.1.4" + version: "7.0.1" file_picker: dependency: "direct main" description: name: file_picker - sha256: "167bb619cdddaa10ef2907609feb8a79c16dfa479d3afaf960f8e223f754bf12" + sha256: ef9908739bdd9c476353d6adff72e88fd00c625f5b959ae23f7567bd5137db0a url: "https://pub.dev" source: hosted - version: "8.1.2" + version: "10.2.0" file_selector_linux: dependency: transitive description: name: file_selector_linux - sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33" url: "https://pub.dev" source: hosted - version: "0.9.2+1" + version: "0.9.3+2" file_selector_macos: dependency: transitive description: name: file_selector_macos - sha256: cb284e267f8e2a45a904b5c094d2ba51d0aabfc20b1538ab786d9ef7dc2bf75c + sha256: "8c9250b2bd2d8d4268e39c82543bacbaca0fda7d29e0728c3c4bbb7c820fd711" url: "https://pub.dev" source: hosted - version: "0.9.4+1" + version: "0.9.4+3" file_selector_platform_interface: dependency: transitive description: @@ -381,10 +381,18 @@ packages: dependency: transitive description: name: file_selector_windows - sha256: "2ad726953f6e8affbc4df8dc78b77c3b4a060967a291e528ef72ae846c60fb69" + sha256: "320fcfb6f33caa90f0b58380489fc5ac05d99ee94b61aa96ec2bff0ba81d3c2b" url: "https://pub.dev" source: hosted - version: "0.9.3+2" + version: "0.9.3+4" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be + url: "https://pub.dev" + source: hosted + version: "1.1.1" flutter: dependency: "direct main" description: flutter @@ -394,18 +402,18 @@ packages: dependency: "direct main" description: name: flutter_cache_manager - sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" + sha256: "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386" url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.4.1" flutter_launcher_icons: dependency: "direct dev" description: name: flutter_launcher_icons - sha256: "619817c4b65b322b5104b6bb6dfe6cda62d9729bd7ad4303ecc8b4e690a67a77" + sha256: "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7" url: "https://pub.dev" source: hosted - version: "0.14.1" + version: "0.14.4" flutter_localizations: dependency: "direct main" description: flutter @@ -439,10 +447,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "9ee02950848f61c4129af3d6ec84a1cfc0e47931abc746b03e7a3bc3e8ff6eda" + sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e url: "https://pub.dev" source: hosted - version: "2.0.22" + version: "2.0.28" flutter_speed_dial: dependency: "direct main" description: @@ -489,10 +497,10 @@ packages: dependency: transitive description: name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" http: dependency: "direct main" description: @@ -505,26 +513,26 @@ packages: dependency: transitive description: name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.1.2" image: dependency: transitive description: name: image - sha256: f31d52537dc417fdcde36088fdf11d191026fd5e4fae742491ebd40e5a8bea7d + sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928" url: "https://pub.dev" source: hosted - version: "4.3.0" + version: "4.5.4" image_picker: dependency: "direct main" description: @@ -537,50 +545,50 @@ packages: dependency: transitive description: name: image_picker_android - sha256: c0a6763d50b354793d0192afd0a12560b823147d3ded7c6b77daf658fa05cc85 + sha256: "317a5d961cec5b34e777b9252393f2afbd23084aa6e60fcf601dcf6341b9ebeb" url: "https://pub.dev" source: hosted - version: "0.8.12+13" + version: "0.8.12+23" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: "65d94623e15372c5c51bebbcb820848d7bcb323836e12dfdba60b5d3a8b39e50" + sha256: "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.6" image_picker_ios: dependency: transitive description: name: image_picker_ios - sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447" + sha256: "05da758e67bc7839e886b3959848aa6b44ff123ab4b28f67891008afe8ef9100" url: "https://pub.dev" source: hosted - version: "0.8.12" + version: "0.8.12+2" image_picker_linux: dependency: transitive description: name: image_picker_linux - sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" + sha256: "34a65f6740df08bbbeb0a1abd8e6d32107941fd4868f67a507b25601651022c9" url: "https://pub.dev" source: hosted - version: "0.2.1+1" + version: "0.2.1+2" image_picker_macos: dependency: transitive description: name: image_picker_macos - sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" + sha256: "1b90ebbd9dcf98fb6c1d01427e49a55bd96b5d67b8c67cf955d60a5de74207c1" url: "https://pub.dev" source: hosted - version: "0.2.1+1" + version: "0.2.1+2" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface - sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" + sha256: "886d57f0be73c4b140004e78b9f28a8914a09e50c2d816bdd0520051a71236a0" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.10.1" image_picker_windows: dependency: transitive description: @@ -593,10 +601,10 @@ packages: dependency: "direct main" description: name: infinite_scroll_pagination - sha256: b68bce20752fcf36c7739e60de4175494f74e99e9a69b4dd2fe3a1dd07a7f16a + sha256: "4047eb8191e8b33573690922a9e995af64c3949dc87efc844f936b039ea279df" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.1.0" intl: dependency: "direct main" description: @@ -609,18 +617,18 @@ packages: dependency: transitive description: name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" js: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc" url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.2" json_annotation: dependency: transitive description: @@ -657,26 +665,26 @@ packages: dependency: "direct dev" description: name: lint - sha256: d758a5211fce7fd3f5e316f804daefecdc34c7e53559716125e6da7388ae8565 + sha256: "3cd03646de313481336500ba02eb34d07c590535525f154aae7fda7362aa07a9" url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.8.0" logging: dependency: transitive description: name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" markdown: dependency: transitive description: name: markdown - sha256: ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051 + sha256: "935e23e1ff3bc02d390bad4d4be001208ee92cc217cb5b5a6c19bc14aaa318c1" url: "https://pub.dev" source: hosted - version: "7.2.2" + version: "7.3.0" matcher: dependency: transitive description: @@ -705,10 +713,10 @@ packages: dependency: transitive description: name: mime - sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "2.0.0" mobile_scanner: dependency: "direct main" description: @@ -737,10 +745,10 @@ packages: dependency: "direct main" description: name: one_context - sha256: "40607e6cf85d95dc81ee037788857a943784d37dfc04a40904a140328745e0af" + sha256: bafae468bdb5d1089736c4e97582b85abd994a80b65c5becb6956a31c59d69e4 url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.1.0" open_filex: dependency: "direct main" description: @@ -753,26 +761,26 @@ packages: dependency: transitive description: name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.0" package_info_plus: dependency: "direct main" description: name: package_info_plus - sha256: da8d9ac8c4b1df253d1a328b7bf01ae77ef132833479ab40763334db13b91cce + sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191" url: "https://pub.dev" source: hosted - version: "8.1.1" + version: "8.3.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: ac1f4a4847f1ade8e6a87d1f39f5d7c67490738642e2542f559ec38c37489a66 + sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.2.0" path: dependency: "direct main" description: @@ -793,18 +801,18 @@ packages: dependency: transitive description: name: path_provider_android - sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7" + sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9 url: "https://pub.dev" source: hosted - version: "2.2.10" + version: "2.2.17" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 + sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.1" path_provider_linux: dependency: transitive description: @@ -833,18 +841,18 @@ packages: dependency: transitive description: name: petitparser - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646" url: "https://pub.dev" source: hosted - version: "6.0.2" + version: "6.1.0" platform: dependency: transitive description: name: platform - sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" url: "https://pub.dev" source: hosted - version: "3.1.5" + version: "3.1.6" plugin_platform_interface: dependency: transitive description: @@ -861,38 +869,38 @@ packages: url: "https://pub.dev" source: hosted version: "1.5.1" + posix: + dependency: transitive + description: + name: posix + sha256: f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62 + url: "https://pub.dev" + source: hosted + version: "6.0.2" pub_semver: dependency: transitive description: name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" url: "https://pub.dev" source: hosted - version: "2.1.4" - pubspec_parse: - dependency: transitive - description: - name: pubspec_parse - sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" - url: "https://pub.dev" - source: hosted - version: "1.5.0" + version: "2.2.0" rxdart: dependency: transitive description: name: rxdart - sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" + sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962" url: "https://pub.dev" source: hosted - version: "0.27.7" + version: "0.28.0" sembast: dependency: "direct main" description: name: sembast - sha256: "934a7b99297fb4f0b6e69fb1465286737b3b47b1a5149bf8dfc85667fbbdd21d" + sha256: "7119cf6f79bd1d48c8ec7943f4facd96c15ab26823021ed0792a487c7cd34441" url: "https://pub.dev" source: hosted - version: "3.7.4+3" + version: "3.8.5+1" sentry: dependency: transitive description: @@ -913,26 +921,26 @@ packages: dependency: transitive description: name: shared_preferences - sha256: "746e5369a43170c25816cc472ee016d3a66bc13fcf430c0bc41ad7b4b2922051" + sha256: "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.5.3" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "480ba4345773f56acda9abf5f50bd966f581dac5d514e5fc4a18c62976bbba7e" + sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.10" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: c4b35f6cb8f63c147312c054ce7c2254c8066745125264f0c88739c417fc9d9f + sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03" url: "https://pub.dev" source: hosted - version: "2.5.2" + version: "2.5.4" shared_preferences_linux: dependency: transitive description: @@ -953,10 +961,10 @@ packages: dependency: transitive description: name: shared_preferences_web - sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e + sha256: c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.3" shared_preferences_windows: dependency: transitive description: @@ -969,10 +977,10 @@ packages: dependency: transitive description: name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.4.2" shelf_packages_handler: dependency: transitive description: @@ -993,10 +1001,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "3.0.0" sky_engine: dependency: transitive description: flutter @@ -1022,10 +1030,10 @@ packages: dependency: transitive description: name: source_maps - sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" + sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" url: "https://pub.dev" source: hosted - version: "0.10.12" + version: "0.10.13" source_span: dependency: transitive description: @@ -1034,22 +1042,54 @@ packages: url: "https://pub.dev" source: hosted version: "1.10.1" + sprintf: + dependency: transitive + description: + name: sprintf + sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + url: "https://pub.dev" + source: hosted + version: "7.0.0" sqflite: dependency: transitive description: name: sqflite - sha256: ff5a2436ef8ebdfda748fbfe957f9981524cb5ff11e7bafa8c42771840e8a788 + sha256: e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03 url: "https://pub.dev" source: hosted - version: "2.3.3+2" + version: "2.4.2" + sqflite_android: + dependency: transitive + description: + name: sqflite_android + sha256: "2b3070c5fa881839f8b402ee4a39c1b4d561704d4ebbbcfb808a119bc2a1701b" + url: "https://pub.dev" + source: hosted + version: "2.4.1" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "2d8e607db72e9cb7748c9c6e739e2c9618320a5517de693d5a24609c4671b1a4" + sha256: "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b" url: "https://pub.dev" source: hosted - version: "2.5.4+4" + version: "2.5.5" + sqflite_darwin: + dependency: transitive + description: + name: sqflite_darwin + sha256: "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3" + url: "https://pub.dev" + source: hosted + version: "2.4.2" + sqflite_platform_interface: + dependency: transitive + description: + name: sqflite_platform_interface + sha256: "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920" + url: "https://pub.dev" + source: hosted + version: "2.4.0" stack_trace: dependency: transitive description: @@ -1070,10 +1110,10 @@ packages: dependency: transitive description: name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: @@ -1086,10 +1126,10 @@ packages: dependency: transitive description: name: synchronized - sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225" + sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6" url: "https://pub.dev" source: hosted - version: "3.3.0+3" + version: "3.3.1" term_glyph: dependency: transitive description: @@ -1126,10 +1166,10 @@ packages: dependency: transitive description: name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" url_launcher: dependency: "direct main" description: @@ -1142,34 +1182,34 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: e35a698ac302dd68e41f73250bd9517fe3ab5fa4f18fe4647a0872db61bacbab + sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79" url: "https://pub.dev" source: hosted - version: "6.3.10" + version: "6.3.16" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e + sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb" url: "https://pub.dev" source: hosted - version: "6.3.1" + version: "6.3.3" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af + sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.2.1" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672" + sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" url_launcher_platform_interface: dependency: transitive description: @@ -1182,26 +1222,26 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" + sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2" url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.4.1" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185" + sha256: "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77" url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.4" uuid: dependency: transitive description: name: uuid - sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" + sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff url: "https://pub.dev" source: hosted - version: "3.0.7" + version: "4.5.1" vector_math: dependency: transitive description: @@ -1238,34 +1278,34 @@ packages: dependency: transitive description: name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + sha256: "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.2" web: dependency: transitive description: name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" web_socket: dependency: transitive description: name: web_socket - sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" url: "https://pub.dev" source: hosted - version: "0.1.6" + version: "1.0.1" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" + sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.3" webkit_inspection_protocol: dependency: transitive description: @@ -1278,26 +1318,26 @@ packages: dependency: transitive description: name: win32 - sha256: "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba" + sha256: "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03" url: "https://pub.dev" source: hosted - version: "5.13.0" + version: "5.14.0" win32_registry: dependency: transitive description: name: win32_registry - sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852" + sha256: "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae" url: "https://pub.dev" source: hosted - version: "1.1.5" + version: "2.1.0" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.1.0" xml: dependency: transitive description: @@ -1310,10 +1350,10 @@ packages: dependency: transitive description: name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" sdks: - dart: ">=3.7.0 <3.32.2" + dart: ">=3.8.1 <4.0.0" flutter: ">=3.29.0" diff --git a/pubspec.yaml b/pubspec.yaml index 97e2a98c..8cadcccc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,19 +4,20 @@ description: InvenTree stock management version: 0.18.1+98 environment: - sdk: ">=2.19.5 <3.32.2" + sdk: ^3.8.1 dependencies: adaptive_theme: ^3.3.0 # Theme management (e.g. dark mode) + async: any audioplayers: ^6.1.0 # Play audio files cached_network_image: ^3.3.1 # Download and cache remote images camera: ^0.11.1 # Camera cupertino_icons: ^1.0.8 currency_formatter: ^2.2.1 # Currency formatting datetime_picker_formfield: ^2.0.1 # Date / time picker - device_info_plus: ^10.1.2 # Information about the device + device_info_plus: ^11.4.0 # Information about the device dropdown_search: ^5.0.6 # Dropdown autocomplete form fields - file_picker: ^8.1.2 # Select files from the device + file_picker: ^10.1.4 # Select files from the device flutter: sdk: flutter flutter_cache_manager: ^3.3.0 diff --git a/tasks.py b/tasks.py index 43573a44..a34d0350 100644 --- a/tasks.py +++ b/tasks.py @@ -8,7 +8,7 @@ from invoke import task @task def clean(c): """Clean flutter build.""" - c.run("flutter clean") + c.run("fvm flutter clean") @task def update(c): @@ -20,20 +20,20 @@ def translate(c): """Update translation files.""" here = os.path.dirname(__file__) - l10_dir = os.path.join(here, 'lib', 'l10n') + l10_dir = os.path.join(here, "lib", "l10n") l10_dir = os.path.abspath(l10_dir) - python = 'python3' if sys.platform.lower() == 'darwin' else 'python' + python = "python3" if sys.platform.lower() == "darwin" else "python" c.run(f"cd {l10_dir} && {python} collect_translations.py") @task(pre=[clean, update, translate]) def ios(c): """Build iOS app in release configuration.""" - c.run("flutter build ipa --release --no-tree-shake-icons") + c.run("fvm flutter build ipa --release --no-tree-shake-icons") @task(pre=[clean, update, translate]) def android(c): """Build Android app in release configuration.""" - c.run("flutter build appbundle --release --no-tree-shake-icons") + c.run("fvm flutter build appbundle --release --no-tree-shake-icons")