diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index c76c1eb..a11bd2c 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -12,6 +12,9 @@ on: pull_request: branches: [develop] +env: + FLUTTER_VERSION: "3.47.4" + # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: format: @@ -33,6 +36,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version: ${{ env.FLUTTER_VERSION }} architecture: x64 cache: true @@ -65,6 +69,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version: ${{ env.FLUTTER_VERSION }} architecture: x64 cache: true @@ -104,6 +109,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version: ${{ env.FLUTTER_VERSION }} architecture: x64 cache: true @@ -137,7 +143,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: "stable" - architecture: x64 + flutter-version: ${{ env.FLUTTER_VERSION }} cache: true # Download all Flutter packages @@ -170,7 +176,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: "stable" - architecture: x64 + flutter-version: ${{ env.FLUTTER_VERSION }} cache: true # Enable platform support @@ -208,6 +214,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version: ${{ env.FLUTTER_VERSION }} architecture: x64 cache: true @@ -250,6 +257,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version: ${{ env.FLUTTER_VERSION }} architecture: x64 cache: true @@ -293,6 +301,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version: ${{ env.FLUTTER_VERSION }} architecture: x64 cache: true @@ -324,6 +333,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version: ${{ env.FLUTTER_VERSION }} architecture: x64 cache: true @@ -380,6 +390,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: "stable" + flutter-version: ${{ env.FLUTTER_VERSION }} architecture: x64 cache: true diff --git a/AGENTS.md b/AGENTS.md index 820669b..942d49c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -22,8 +22,8 @@ Conduct](CODE_OF_CONDUCT.md). ### Prerequisites - Basic Dart and Flutter knowledge -- A working Flutter SDK installation, stable channel (see Commands below for - what CI actually installs) +- A working Flutter SDK installation, stable channel, matching CI, currently + Flutter **3.47.4** (`FLUTTER_VERSION` in `.github/workflows/build.yaml`) - For running or building the example on iOS/macOS, access to a Mac is required - Android example builds require JDK 17 @@ -133,7 +133,10 @@ flutter analyze flutter test ``` -CI runs the same commands with stricter flags, on the Flutter stable channel: +CI runs the same commands with stricter flags, on the pinned Flutter version +above. Bump `FLUTTER_VERSION` in `.github/workflows/build.yaml` in its own PR, +which needs a green run of its own, and keep it in step with the version +`flutter_cache_manager` pins. ```bash dart format --set-exit-if-changed . diff --git a/analysis_options.yaml b/analysis_options.yaml index a3be6b8..a0be23c 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1 +1,4 @@ +analyzer: + exclude: + - build/** include: package:flutter_lints/flutter.yaml \ No newline at end of file diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml index f9b3034..743e05a 100644 --- a/example/analysis_options.yaml +++ b/example/analysis_options.yaml @@ -1 +1,10 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml diff --git a/example/linux/flutter/generated_plugins.cmake b/example/linux/flutter/generated_plugins.cmake index 51436ae..2e1de87 100644 --- a/example/linux/flutter/generated_plugins.cmake +++ b/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin)