diff --git a/.github/workflows/branch.yml b/.github/workflows/branch.yml index adca2ba15..3ecb8660f 100644 --- a/.github/workflows/branch.yml +++ b/.github/workflows/branch.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Flutter uses: subosito/flutter-action@v2 with: @@ -30,7 +30,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Flutter Environment uses: subosito/flutter-action@v2 with: @@ -46,17 +46,22 @@ jobs: run-tests: name: "Run Tests" runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + sdk: [ '3.27.0', '' ] steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Flutter Environment uses: subosito/flutter-action@v2 with: - channel: "stable" + flutter-version: ${{ matrix.sdk }} cache: true - name: Run Tests with Coverage run: flutter test -r expanded --coverage - name: Run Codecov + if: ${{ matrix.sdk == '' }} uses: codecov/codecov-action@v5 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} @@ -64,14 +69,18 @@ jobs: build-android: name: "Build Android Example App" runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + sdk: [ '3.27.0', '' ] defaults: run: working-directory: ./example steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Java 21 Environment - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: "temurin" java-version: "21" @@ -79,11 +88,12 @@ jobs: - name: Setup Flutter Environment uses: subosito/flutter-action@v2 with: - channel: "stable" + flutter-version: ${{ matrix.sdk }} cache: true - name: Build Android Application run: flutter build apk --dart-define=COMMIT_SHA=${{ github.sha }} --dart-define=flutter.flutter_map.unblockOSM="${{ secrets.UNBLOCK_OSM }}" - name: Archive Artifact + if: ${{ matrix.sdk == '' }} uses: actions/upload-artifact@v4 with: name: apk-build @@ -93,23 +103,32 @@ jobs: build-windows: name: "Build Windows Example App" runs-on: windows-latest + strategy: + fail-fast: false + matrix: + sdk: [ '3.27.0', '' ] defaults: run: working-directory: ./example steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Flutter Environment uses: subosito/flutter-action@v2 with: - channel: "stable" + flutter-version: ${{ matrix.sdk }} cache: true - name: Build Windows Application run: flutter build windows --dart-define=COMMIT_SHA=${{ github.sha }} --dart-define=flutter.flutter_map.unblockOSM="${{ secrets.UNBLOCK_OSM }}" + - name: Install Inno Setup + if: ${{ matrix.sdk == '' }} + run: choco install innosetup --yes --no-progress - name: Create Windows Application Installer + if: ${{ matrix.sdk == '' }} run: iscc "windowsApplicationInstallerSetup.iss" working-directory: . - name: Archive Artifact + if: ${{ matrix.sdk == '' }} uses: actions/upload-artifact@v4 with: name: exe-build @@ -119,21 +138,26 @@ jobs: build-web: name: "Build Web Example App" runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + sdk: [ '3.27.0', '' ] defaults: run: working-directory: ./example steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Flutter Environment uses: subosito/flutter-action@v2 with: - channel: "stable" + flutter-version: ${{ matrix.sdk }} cache: true - name: Build Web Application run: flutter build web --wasm --dart-define=COMMIT_SHA=${{ github.sha }} --dart-define=flutter.flutter_map.unblockOSM="${{ secrets.UNBLOCK_OSM }}" - name: Archive Artifact uses: actions/upload-artifact@v4 + if: ${{ matrix.sdk == '' }} with: name: web-build path: example/build/web diff --git a/.github/workflows/daily.yml b/.github/workflows/daily.yml index 44d7e747c..57934acba 100644 --- a/.github/workflows/daily.yml +++ b/.github/workflows/daily.yml @@ -10,7 +10,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@v9 + - uses: actions/stale@v10 with: days-before-issue-stale: 21 days-before-issue-close: 7 diff --git a/.github/workflows/issue-comment.yml b/.github/workflows/issue-comment.yml index 8a205df02..3ab76ede5 100644 --- a/.github/workflows/issue-comment.yml +++ b/.github/workflows/issue-comment.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Check labels of issue id: check_labels - uses: actions/github-script@v7 + uses: actions/github-script@v8 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | @@ -42,7 +42,7 @@ jobs: # action removes the label when the automatic reminder message gets sent. - name: Remove `waiting for user response` label if exists if: steps.check_labels.outputs.result == 'true' - uses: actions/github-script@v7 + uses: actions/github-script@v8 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 328a4cafe..860e46805 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Flutter Environment uses: subosito/flutter-action@v2 with: @@ -38,9 +38,9 @@ jobs: working-directory: ./example steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Java 21 Environment - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: "temurin" java-version: "21" @@ -69,14 +69,15 @@ jobs: working-directory: ./example steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Flutter Environment uses: subosito/flutter-action@v2 with: - channel: "stable" cache: true - name: Build Windows Application run: flutter build windows --dart-define=COMMIT_SHA=${{ github.sha }} --dart-define=flutter.flutter_map.unblockOSM="${{ secrets.UNBLOCK_OSM }}" + - name: Install Inno Setup + run: choco install innosetup --yes --no-progress - name: Create Windows Application Installer run: iscc "windowsApplicationInstallerSetup.iss" working-directory: . @@ -97,7 +98,7 @@ jobs: working-directory: ./example steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Flutter Environment uses: subosito/flutter-action@v2 with: diff --git a/example/macos/Flutter/GeneratedPluginRegistrant.swift b/example/macos/Flutter/GeneratedPluginRegistrant.swift index 997e35da2..b19945c53 100644 --- a/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,10 +5,12 @@ import FlutterMacOS import Foundation +import path_provider_foundation import shared_preferences_foundation import url_launcher_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) } diff --git a/example/pubspec.lock b/example/pubspec.lock index eccc52347..7c1042e86 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -139,10 +139,10 @@ packages: dependency: "direct main" description: name: http - sha256: "559ab0d950643c9a04512f4c4bd1c435dcb5af1aa9c848f3bf5867347044328a" + sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007 url: "https://pub.dev" source: hosted - version: "1.5.0-beta" + version: "1.5.0" http_parser: dependency: transitive description: @@ -171,10 +171,10 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "11.0.1" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: @@ -211,10 +211,10 @@ packages: dependency: transitive description: name: logger - sha256: "2621da01aabaf223f8f961e751f2c943dbb374dc3559b982f200ccedadaa6999" + sha256: "55d6c23a6c15db14920e037fe7e0dc32e7cdaf3b64b4b25df2d541b5b6b81c0c" url: "https://pub.dev" source: hosted - version: "2.6.0" + version: "2.6.1" matcher: dependency: transitive description: @@ -267,18 +267,18 @@ packages: dependency: transitive description: name: path_provider_android - sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9 + sha256: "993381400e94d18469750e5b9dcb8206f15bc09f9da86b9e44a9b0092a0066db" url: "https://pub.dev" source: hosted - version: "2.2.17" + version: "2.2.18" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" + sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" path_provider_linux: dependency: transitive description: @@ -339,10 +339,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac" + sha256: a2608114b1ffdcbc9c120eb71a0e207c71da56202852d4aab8a5e30a82269e74 url: "https://pub.dev" source: hosted - version: "2.4.10" + version: "2.4.12" shared_preferences_foundation: dependency: transitive description: @@ -464,26 +464,26 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" + sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8 url: "https://pub.dev" source: hosted - version: "6.3.1" + version: "6.3.2" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79" + sha256: "199bc33e746088546a39cc5f36bac5a278c5e53b40cb3196f99e7345fdcfae6b" url: "https://pub.dev" source: hosted - version: "6.3.16" + version: "6.3.22" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb" + sha256: d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7 url: "https://pub.dev" source: hosted - version: "6.3.3" + version: "6.3.4" url_launcher_linux: dependency: transitive description: @@ -496,10 +496,10 @@ packages: dependency: transitive description: name: url_launcher_macos - sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" + sha256: c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f url: "https://pub.dev" source: hosted - version: "3.2.2" + version: "3.2.3" url_launcher_platform_interface: dependency: transitive description: @@ -573,5 +573,5 @@ packages: source: hosted version: "1.1.0" sdks: - dart: ">=3.8.0 <4.0.0" - flutter: ">=3.27.0" + dart: ">=3.9.0 <4.0.0" + flutter: ">=3.35.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index ce653d89b..91918c046 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -24,7 +24,7 @@ dependency_overrides: path: ../ dev_dependencies: - flutter_lints: ^6.0.0 + flutter_lints: ">=5.0.0 <7.0.0" flutter_test: sdk: flutter geojson_vi: ^2.2.5 diff --git a/lib/src/layer/tile_layer/tile_provider/network/caching/built_in/impl/native/native.dart b/lib/src/layer/tile_layer/tile_provider/network/caching/built_in/impl/native/native.dart index f073aa3e0..e42004226 100644 --- a/lib/src/layer/tile_layer/tile_provider/network/caching/built_in/impl/native/native.dart +++ b/lib/src/layer/tile_layer/tile_provider/network/caching/built_in/impl/native/native.dart @@ -2,11 +2,13 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'dart:isolate'; +// ignore: unnecessary_import import 'dart:typed_data'; import 'package:flutter/foundation.dart'; import 'package:flutter_map/flutter_map.dart'; import 'package:flutter_map/src/layer/tile_layer/tile_provider/network/caching/built_in/impl/native/workers/tile_and_size_monitor_writer.dart'; +// ignore: unnecessary_import import 'package:meta/meta.dart'; import 'package:path/path.dart' as p; import 'package:path_provider/path_provider.dart'; diff --git a/lib/src/layer/tile_layer/tile_provider/network/image_provider/consolidate_response.dart b/lib/src/layer/tile_layer/tile_provider/network/image_provider/consolidate_response.dart index eacf725b4..33ef7d580 100644 --- a/lib/src/layer/tile_layer/tile_provider/network/image_provider/consolidate_response.dart +++ b/lib/src/layer/tile_layer/tile_provider/network/image_provider/consolidate_response.dart @@ -6,6 +6,7 @@ import 'dart:convert'; import 'package:flutter/foundation.dart'; import 'package:http/http.dart'; +// ignore: unnecessary_import import 'package:meta/meta.dart'; /// Efficiently converts the response body of an [Response] into a diff --git a/lib/src/layer/tile_layer/tile_provider/network/image_provider/image_provider.dart b/lib/src/layer/tile_layer/tile_provider/network/image_provider/image_provider.dart index 4e7c931d8..be18eb9cb 100644 --- a/lib/src/layer/tile_layer/tile_provider/network/image_provider/image_provider.dart +++ b/lib/src/layer/tile_layer/tile_provider/network/image_provider/image_provider.dart @@ -8,6 +8,7 @@ import 'package:flutter_map/flutter_map.dart'; import 'package:flutter_map/src/layer/tile_layer/tile_provider/network/image_provider/consolidate_response.dart'; import 'package:http/http.dart'; import 'package:logger/logger.dart'; +// ignore: unnecessary_import import 'package:meta/meta.dart'; /// Dedicated [ImageProvider] to fetch tiles from the network diff --git a/lib/src/map/camera/camera.dart b/lib/src/map/camera/camera.dart index 76ef2fc0a..c9c6d980a 100644 --- a/lib/src/map/camera/camera.dart +++ b/lib/src/map/camera/camera.dart @@ -377,8 +377,10 @@ class MapCamera { final counterRotationFactor = counterRotation ? -1 : 1; final m = Matrix4.identity() + // ignore: deprecated_member_use ..translate(mapCenter.dx, mapCenter.dy) ..rotateZ(rotationRad * counterRotationFactor) + // ignore: deprecated_member_use ..translate(-mapCenter.dx, -mapCenter.dy); return MatrixUtils.transformPoint(m, point); diff --git a/pubspec.yaml b/pubspec.yaml index 1698595aa..4a7815c07 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -32,17 +32,17 @@ dependencies: dart_polylabel2: ^1.0.0 flutter: sdk: flutter - http: ^1.5.0-beta + http: ^1.5.0 latlong2: ^0.9.1 logger: ^2.0.0 meta: ^1.11.0 - path: ^1.9.1 + path: ^1.9.0 path_provider: ^2.1.5 proj4dart: ^2.1.0 uuid: ^4.5.1 dev_dependencies: - flutter_lints: ">=4.0.0 <7.0.0" + flutter_lints: ">=5.0.0 <7.0.0" flutter_test: sdk: flutter mocktail: ^1.0.3