From 20c638fff7c591b3796f1fd6005a28550753f34d Mon Sep 17 00:00:00 2001 From: Emran Bajrami Date: Thu, 22 May 2025 14:29:24 +0200 Subject: [PATCH 1/9] Update publish_all_packages.yml --- .github/workflows/publish_all_packages.yml | 23 ++++++---------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/.github/workflows/publish_all_packages.yml b/.github/workflows/publish_all_packages.yml index 3523356..fcd5041 100644 --- a/.github/workflows/publish_all_packages.yml +++ b/.github/workflows/publish_all_packages.yml @@ -5,23 +5,12 @@ on: - master jobs: - publish_all_packages: + publish: + permissions: + id-token: write # Required for authentication using OIDC runs-on: ubuntu-latest - container: - image: google/dart:latest steps: - - uses: actions/checkout@v1 - - name: Setup credentials - run: | - mkdir -p ~/.pub-cache - cat < ~/.pub-cache/credentials.json - { - "accessToken":"${{ secrets.PUB_DEV_ACCESS_TOKEN }}", - "refreshToken":"${{ secrets.PUB_DEV_REFRESH_TOKEN }}", - "tokenEndpoint":"https://accounts.google.com/o/oauth2/token", - "scopes": [ "openid", "https://www.googleapis.com/auth/userinfo.email" ], - "expiration": 1570721159347 - } - EOF - - name: Publish package + - uses: actions/checkout@v3 + - uses: dart-lang/setup-dart@v1 + - name: Publish packages run: bash scripts/run-publish.sh From c1c1585e89d1b9a507093362eef85dac50df18c6 Mon Sep 17 00:00:00 2001 From: Emran Bajrami Date: Thu, 22 May 2025 15:27:07 +0200 Subject: [PATCH 2/9] Updating dependencies and environment in pubspec.yaml files --- widget_driver/example/pubspec.yaml | 3 +-- widget_driver/pubspec.yaml | 4 +--- widget_driver_annotation/pubspec.yaml | 2 +- widget_driver_generator/pubspec.yaml | 2 +- widget_driver_test/pubspec.yaml | 2 +- 5 files changed, 5 insertions(+), 8 deletions(-) diff --git a/widget_driver/example/pubspec.yaml b/widget_driver/example/pubspec.yaml index ec26370..6fe9876 100644 --- a/widget_driver/example/pubspec.yaml +++ b/widget_driver/example/pubspec.yaml @@ -4,8 +4,7 @@ publish_to: "none" version: 1.0.0+2 environment: - sdk: ">=3.0.0 <4.0.0" - flutter: ">=3.10.0" + sdk: ">=3.4.0 <4.0.0" dependencies: flutter: diff --git a/widget_driver/pubspec.yaml b/widget_driver/pubspec.yaml index 6433cc4..6f92a26 100644 --- a/widget_driver/pubspec.yaml +++ b/widget_driver/pubspec.yaml @@ -5,8 +5,7 @@ repository: https://github.com/bmw-tech/widget_driver/tree/master/widget_driver issue_tracker: https://github.com/bmw-tech/widget_driver/issues environment: - sdk: ">=3.0.0 <4.0.0" - flutter: ">=3.10.0" + sdk: ">=3.4.0 <4.0.0" dependencies: flutter: @@ -20,4 +19,3 @@ dev_dependencies: flutter_lints: ^1.0.4 mocktail: ^1.0.4 provider: ^6.0.4 - diff --git a/widget_driver_annotation/pubspec.yaml b/widget_driver_annotation/pubspec.yaml index e395ed9..151522f 100644 --- a/widget_driver_annotation/pubspec.yaml +++ b/widget_driver_annotation/pubspec.yaml @@ -5,7 +5,7 @@ repository: https://github.com/bmw-tech/widget_driver/tree/master/widget_driver_ issue_tracker: https://github.com/bmw-tech/widget_driver/issues environment: - sdk: ">=3.0.0 <4.0.0" + sdk: ">=3.4.0 <4.0.0" dev_dependencies: test: ^1.22.2 diff --git a/widget_driver_generator/pubspec.yaml b/widget_driver_generator/pubspec.yaml index ccc37d9..baa07b4 100644 --- a/widget_driver_generator/pubspec.yaml +++ b/widget_driver_generator/pubspec.yaml @@ -10,7 +10,7 @@ platforms: windows: environment: - sdk: ">=3.0.0 <4.0.0" + sdk: ">=3.4.0 <4.0.0" dependencies: build: ^2.0.0 diff --git a/widget_driver_test/pubspec.yaml b/widget_driver_test/pubspec.yaml index 30e76d4..fa0f158 100644 --- a/widget_driver_test/pubspec.yaml +++ b/widget_driver_test/pubspec.yaml @@ -5,7 +5,7 @@ repository: https://github.com/bmw-tech/widget_driver/tree/master/widget_driver_ issue_tracker: https://github.com/bmw-tech/widget_driver/issues environment: - sdk: ">=3.0.0 <4.0.0" + sdk: ">=3.4.0 <4.0.0" dependencies: flutter: From 7fc369d53c98cd74eb90467b0641c685cce13c19 Mon Sep 17 00:00:00 2001 From: Emran Bajrami Date: Thu, 22 May 2025 15:34:41 +0200 Subject: [PATCH 3/9] Update run-publish.sh --- scripts/run-publish.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run-publish.sh b/scripts/run-publish.sh index 8d88617..8b24bd4 100755 --- a/scripts/run-publish.sh +++ b/scripts/run-publish.sh @@ -12,6 +12,6 @@ for project_folder in "${PROJECT_FOLDERS[@]}" do echo -e "$TAG_COLOR Preparing: $project_folder" cd $project_folder - dart pub publish -f + flutter pub publish -f cd .. done \ No newline at end of file From 45fffb5aeca5b7e673048f931dde26ae06b1e60f Mon Sep 17 00:00:00 2001 From: Emran Bajrami Date: Thu, 22 May 2025 15:44:13 +0200 Subject: [PATCH 4/9] Updating dependencies --- scripts/run-publish.sh | 2 +- widget_driver/example/pubspec.yaml | 1 + widget_driver/pubspec.yaml | 3 +- widget_driver_generator/CHANGELOG.md | 62 +++++++++++++++------------- widget_driver_test/CHANGELOG.md | 38 +++++++++-------- widget_driver_test/pubspec.yaml | 4 +- 6 files changed, 60 insertions(+), 50 deletions(-) diff --git a/scripts/run-publish.sh b/scripts/run-publish.sh index 8b24bd4..09982cc 100755 --- a/scripts/run-publish.sh +++ b/scripts/run-publish.sh @@ -12,6 +12,6 @@ for project_folder in "${PROJECT_FOLDERS[@]}" do echo -e "$TAG_COLOR Preparing: $project_folder" cd $project_folder - flutter pub publish -f + flutter pub publish -n cd .. done \ No newline at end of file diff --git a/widget_driver/example/pubspec.yaml b/widget_driver/example/pubspec.yaml index 6fe9876..fd4d5fe 100644 --- a/widget_driver/example/pubspec.yaml +++ b/widget_driver/example/pubspec.yaml @@ -5,6 +5,7 @@ version: 1.0.0+2 environment: sdk: ">=3.4.0 <4.0.0" + flutter: ">=3.10.0" dependencies: flutter: diff --git a/widget_driver/pubspec.yaml b/widget_driver/pubspec.yaml index 6f92a26..00df56b 100644 --- a/widget_driver/pubspec.yaml +++ b/widget_driver/pubspec.yaml @@ -6,7 +6,8 @@ issue_tracker: https://github.com/bmw-tech/widget_driver/issues environment: sdk: ">=3.4.0 <4.0.0" - + flutter: ">=3.10.0" + dependencies: flutter: sdk: flutter diff --git a/widget_driver_generator/CHANGELOG.md b/widget_driver_generator/CHANGELOG.md index 71665d0..a1b0082 100644 --- a/widget_driver_generator/CHANGELOG.md +++ b/widget_driver_generator/CHANGELOG.md @@ -1,93 +1,97 @@ # CHANGELOG +## 1.3.5 + +- Updating mocktail to 1.0.4 + ## 1.3.3 -* Remove unnecessary '= null' from property code generation +- Remove unnecessary '= null' from property code generation ## 1.3.2 -* fixes bug where the generator generates code for static fields/methods/accessors. +- fixes bug where the generator generates code for static fields/methods/accessors. ## 1.3.1 -* fixes bug where the "void" keyword was unnecessarily added to setters. +- fixes bug where the "void" keyword was unnecessarily added to setters. ## 1.3.0 -* Introduces the option to specify formatter line length in build.yaml. +- Introduces the option to specify formatter line length in build.yaml. ## 1.2.1 -* Fixes bug when no build.yaml is provided. +- Fixes bug when no build.yaml is provided. ## 1.2.0 -* Introduces the option to specify default values for types in your build.yaml. +- Introduces the option to specify default values for types in your build.yaml. ## 1.1.0 -* Introduces predefined default values for frequently used types to minimize the need of annotations. -* Fixes a bug that allows the generation of setters. +- Introduces predefined default values for frequently used types to minimize the need of annotations. +- Fixes a bug that allows the generation of setters. ## 1.0.3 -* Updates images in readme to look more "snappy" 😁 +- Updates images in readme to look more "snappy" 😁 ## 1.0.2 -* Adds SDK constraint to 3.0.0. +- Adds SDK constraint to 3.0.0. ## 1.0.1 -* Adds the WidgetDriver logo to the readme 🥳 +- Adds the WidgetDriver logo to the readme 🥳 ## 1.0.0 -* No changes. Just the official release of WidgetDriverGenerator :-D +- No changes. Just the official release of WidgetDriverGenerator :-D ## 0.4.0 -* Updates the README. -* Specified minimum versions to some pubspec dependencies. +- Updates the README. +- Specified minimum versions to some pubspec dependencies. ## 0.3.0 -* Updates generator to be compatible with latest api changes in version 0.2.0 of widget_driver. +- Updates generator to be compatible with latest api changes in version 0.2.0 of widget_driver. ## 0.2.0 -* Changes the name of the generated method for driver provided properties. It used to be `updateDriverProvidedProperties`, now it is called `didUpdateProvidedProperties` to fit better with the name of the method which is called when a build context dependency triggers the driver to update. +- Changes the name of the generated method for driver provided properties. It used to be `updateDriverProvidedProperties`, now it is called `didUpdateProvidedProperties` to fit better with the name of the method which is called when a build context dependency triggers the driver to update. ## 0.1.0 -* Changes the generated code for provided properties to use `implements` and abstract class instead of mixins. -* Fixes the issue where the version number of the generator in the generated file was wrong. +- Changes the generated code for provided properties to use `implements` and abstract class instead of mixins. +- Fixes the issue where the version number of the generator in the generated file was wrong. ## 0.0.6 -* Adds generating of `_$DriverProvidedPropertiesMixin` which fixes ignoring of state issues +- Adds generating of `_$DriverProvidedPropertiesMixin` which fixes ignoring of state issues ## 0.0.5 -* Adds `coverage:ignore-file` to generated files to make the code coverage tool ignore these. +- Adds `coverage:ignore-file` to generated files to make the code coverage tool ignore these. ## 0.0.4 -* Uses the new `@driverProvidableProperty` annotation in the widget_driver_annotation package to generate code in the `DriverProvider`, to pass data from the widget to the driver. -* Refactors the generator classes for more readable and decoupled code. +- Uses the new `@driverProvidableProperty` annotation in the widget_driver_annotation package to generate code in the `DriverProvider`, to pass data from the widget to the driver. +- Refactors the generator classes for more readable and decoupled code. ## 0.0.3 -* Updates generator to be compatible with new annotations in the widget_driver_annotation package. -* Refactors generator code to be more testable and decoupled. -* Adds unit tests for code generation. -* Updates README and Example/README to reflect new changes to annotations. +- Updates generator to be compatible with new annotations in the widget_driver_annotation package. +- Refactors generator code to be more testable and decoupled. +- Adds unit tests for code generation. +- Updates README and Example/README to reflect new changes to annotations. ## 0.0.2 -* Adds example markdown file for pub.dev to give basic information about how to use the widget_driver_generator. +- Adds example markdown file for pub.dev to give basic information about how to use the widget_driver_generator. ## 0.0.1 -* Initial release. -* Adds possibility to generate code for `TestDrivers` and `WidgetProviders`. +- Initial release. +- Adds possibility to generate code for `TestDrivers` and `WidgetProviders`. diff --git a/widget_driver_test/CHANGELOG.md b/widget_driver_test/CHANGELOG.md index 69d4a1b..eb0fe30 100644 --- a/widget_driver_test/CHANGELOG.md +++ b/widget_driver_test/CHANGELOG.md @@ -1,55 +1,59 @@ +## 1.0.5 + +- Updating mocktail to 1.0.4 + ## 1.0.4 -* Updates widget_driver dependency to latest 1.0.8. And updates readme with info about latest TestConfig feature. +- Updates widget_driver dependency to latest 1.0.8. And updates readme with info about latest TestConfig feature. ## 1.0.3 -* Updates images in readme to look more "snappy" 😁 +- Updates images in readme to look more "snappy" 😁 ## 1.0.2 -* Adds SDK constraint to 3.0.0. +- Adds SDK constraint to 3.0.0. ## 1.0.1 -* Adds the WidgetDriver logo to the readme 🥳 +- Adds the WidgetDriver logo to the readme 🥳 ## 1.0.0 -* The official release of WidgetDriverTest :-D +- The official release of WidgetDriverTest :-D ## 0.3.0 -* Updates to use 0.4.0 of widget_driver +- Updates to use 0.4.0 of widget_driver ## 0.2.0 -* Adds `UpdatableDependency` to help test the `didUpdateBuildContext` method of drivers. +- Adds `UpdatableDependency` to help test the `didUpdateBuildContext` method of drivers. ## 0.1.0 -* Changes to use latest api from widget_driver package. The build context is no longer passed into the constructor of the driver. +- Changes to use latest api from widget_driver package. The build context is no longer passed into the constructor of the driver. ## 0.0.5 -* Fixes bug where a new TestDrivableWidget is ignored by element tree if one was already created +- Fixes bug where a new TestDrivableWidget is ignored by element tree if one was already created ## 0.0.4 -* Updates the required version of mocktail. -The required version was lowered to enable more users to be able to install this package. +- Updates the required version of mocktail. + The required version was lowered to enable more users to be able to install this package. ## 0.0.3 -* Adds example markdown file for pub.dev to give basic information about how to use the widget_driver_test. +- Adds example markdown file for pub.dev to give basic information about how to use the widget_driver_test. ## 0.0.2 -* Fixes issue where driverTesterHelper didn't load and dispose drivers correctly. +- Fixes issue where driverTesterHelper didn't load and dispose drivers correctly. ## 0.0.1 -* Initial release. -* Adds: - * `DriverTester` to help unit test the `WidgetDrivers`. - * `MockDriver` to help with creating mock versions of `WidgetDrivers`. +- Initial release. +- Adds: + - `DriverTester` to help unit test the `WidgetDrivers`. + - `MockDriver` to help with creating mock versions of `WidgetDrivers`. diff --git a/widget_driver_test/pubspec.yaml b/widget_driver_test/pubspec.yaml index fa0f158..5c3f8a3 100644 --- a/widget_driver_test/pubspec.yaml +++ b/widget_driver_test/pubspec.yaml @@ -10,12 +10,12 @@ environment: dependencies: flutter: sdk: flutter + flutter_test: + sdk: flutter widget_driver: ^1.0.8 mocktail: ^1.0.4 meta: ^1.7.0 test: ^1.22.2 - flutter_test: - sdk: flutter dev_dependencies: flutter_lints: ^1.0.4 From bea4886f4ec9aedb9c18e11a399b8fb6105a8291 Mon Sep 17 00:00:00 2001 From: Emran Bajrami Date: Thu, 22 May 2025 15:46:29 +0200 Subject: [PATCH 5/9] Update run-publish.sh --- scripts/run-publish.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run-publish.sh b/scripts/run-publish.sh index 09982cc..8d88617 100755 --- a/scripts/run-publish.sh +++ b/scripts/run-publish.sh @@ -12,6 +12,6 @@ for project_folder in "${PROJECT_FOLDERS[@]}" do echo -e "$TAG_COLOR Preparing: $project_folder" cd $project_folder - flutter pub publish -n + dart pub publish -f cd .. done \ No newline at end of file From 0a1d09f70ed300cf13f622d15877f9c251e4be34 Mon Sep 17 00:00:00 2001 From: Emran Bajrami Date: Thu, 22 May 2025 15:50:33 +0200 Subject: [PATCH 6/9] Update run-publish.sh --- scripts/run-publish.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run-publish.sh b/scripts/run-publish.sh index 8d88617..8b24bd4 100755 --- a/scripts/run-publish.sh +++ b/scripts/run-publish.sh @@ -12,6 +12,6 @@ for project_folder in "${PROJECT_FOLDERS[@]}" do echo -e "$TAG_COLOR Preparing: $project_folder" cd $project_folder - dart pub publish -f + flutter pub publish -f cd .. done \ No newline at end of file From 6e388ca8ce0dfa25d404f6d867de3853c0e14206 Mon Sep 17 00:00:00 2001 From: Emran Bajrami Date: Thu, 22 May 2025 15:53:23 +0200 Subject: [PATCH 7/9] Update publish_all_packages.yml --- .github/workflows/publish_all_packages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish_all_packages.yml b/.github/workflows/publish_all_packages.yml index fcd5041..771a67a 100644 --- a/.github/workflows/publish_all_packages.yml +++ b/.github/workflows/publish_all_packages.yml @@ -12,5 +12,6 @@ jobs: steps: - uses: actions/checkout@v3 - uses: dart-lang/setup-dart@v1 + - uses: flutter-actions/setup-flutter@54feb1e258158303e041b9eaf89314dcfbf6d38a - name: Publish packages run: bash scripts/run-publish.sh From 591d4951fc0b2e6a52c2e21515ba39437aabdc4b Mon Sep 17 00:00:00 2001 From: Emran Bajrami Date: Thu, 22 May 2025 18:02:09 +0200 Subject: [PATCH 8/9] Updating GitHub action for publishing to pub dev. --- ...yml => create-git-tags-for-publishing.yml} | 4 +-- .github/workflows/publish-package.yml | 15 +++++++++++ scripts/run-publish.sh | 27 +++++++++++++------ scripts/run-tag-release.sh | 25 +++++++++++++++++ 4 files changed, 60 insertions(+), 11 deletions(-) rename .github/workflows/{publish_all_packages.yml => create-git-tags-for-publishing.yml} (84%) create mode 100644 .github/workflows/publish-package.yml create mode 100644 scripts/run-tag-release.sh diff --git a/.github/workflows/publish_all_packages.yml b/.github/workflows/create-git-tags-for-publishing.yml similarity index 84% rename from .github/workflows/publish_all_packages.yml rename to .github/workflows/create-git-tags-for-publishing.yml index 771a67a..7da1cbf 100644 --- a/.github/workflows/publish_all_packages.yml +++ b/.github/workflows/create-git-tags-for-publishing.yml @@ -1,8 +1,6 @@ name: Publish all packages to pub.dev on: workflow_dispatch: - branches: - - master jobs: publish: @@ -14,4 +12,4 @@ jobs: - uses: dart-lang/setup-dart@v1 - uses: flutter-actions/setup-flutter@54feb1e258158303e041b9eaf89314dcfbf6d38a - name: Publish packages - run: bash scripts/run-publish.sh + run: bash scripts/run-tag-release.sh diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml new file mode 100644 index 0000000..b7377e0 --- /dev/null +++ b/.github/workflows/publish-package.yml @@ -0,0 +1,15 @@ +name: Publishes a package specified by the git tag to pub.dev +on: + workflow_dispatch: + +jobs: + publish: + permissions: + id-token: write # Required for authentication using OIDC + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: dart-lang/setup-dart@v1 + - uses: flutter-actions/setup-flutter@54feb1e258158303e041b9eaf89314dcfbf6d38a + - name: Publish packages + run: bash scripts/run-publish.sh $GITHUB_REF_NAME diff --git a/scripts/run-publish.sh b/scripts/run-publish.sh index 8b24bd4..a5ff407 100755 --- a/scripts/run-publish.sh +++ b/scripts/run-publish.sh @@ -1,5 +1,5 @@ #!/bin/bash - +# Script which publishes a release for a given plugin TAG="[widget-driver]:" RED='\033[0;31m' GREEN='\033[0;32m' @@ -7,11 +7,22 @@ NC='\033[0m' TAG_COLOR="\n${GREEN}${TAG}${NC}" PROJECT_FOLDERS=("widget_driver_annotation" "widget_driver_generator" "widget_driver" "widget_driver_test") +# Read the tag passed as parameter which should be as package-version (e.g. widget_driver-1.2.3) +GIT_TAG=$1 + +# Extract the package from the git tag +DIRECTORY="${GIT_TAG%%-*}" +echo -e "$TAG_COLOR Publishing $DIRECTORY" +# If it doesn't exists, report an error +if [ ! -d "$DIRECTORY" ]; then + echo -e "$TAG_COLOR $DIRECTORY doesn't exist. Make sure that tag name corresponds to one of the projects in the repo. Exiting..." + exit -1 +fi + +echo -e "$TAG_COLOR Preparing to publish new version of $DIRECTORY" +cd $DIRECTORY +version=$(grep '^version:' pubspec.yaml | awk '{print $2}') +flutter pub publish -f -for project_folder in "${PROJECT_FOLDERS[@]}" -do - echo -e "$TAG_COLOR Preparing: $project_folder" - cd $project_folder - flutter pub publish -f - cd .. -done \ No newline at end of file +exit_code=$? +echo -e "$TAG_COLOR $DIRECTORY with version $version is successfully published" \ No newline at end of file diff --git a/scripts/run-tag-release.sh b/scripts/run-tag-release.sh new file mode 100644 index 0000000..cc37039 --- /dev/null +++ b/scripts/run-tag-release.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Script creates git tags which are then picked up by the +TAG="[widget-driver]:" +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' +TAG_COLOR="\n${GREEN}${TAG}${NC}" +PROJECT_FOLDERS=("widget_driver_annotation" "widget_driver_generator" "widget_driver" "widget_driver_test") + +echo "$TAG_COLOR Preparing to publish new version" +for project_folder in "${PROJECT_FOLDERS[@]}" +do + echo -e "$TAG_COLOR Preparing: $project_folder" + cd $project_folder + # Extract the version from the pubspec.yaml file + version=$(grep '^version:' pubspec.yaml | awk '{print $2}') + tag="$project_folder-$version" + + echo "$TAG_COLOR Creating Git tag for $project_folder and version: $version: $tag" + git tag $tag + git push origin $tag + cd .. +done + +echo "$TAG_COLOR Finished tagging project" \ No newline at end of file From 6600e1dce140b8a6b342c5c522dd20c85328b427 Mon Sep 17 00:00:00 2001 From: Emran Bajrami Date: Thu, 22 May 2025 18:15:07 +0200 Subject: [PATCH 9/9] Update check-code-quality.yml --- .github/workflows/check-code-quality.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/check-code-quality.yml b/.github/workflows/check-code-quality.yml index c89953a..4a628e8 100644 --- a/.github/workflows/check-code-quality.yml +++ b/.github/workflows/check-code-quality.yml @@ -1,9 +1,9 @@ name: check-code-quality on: push: - branches: [ "master" ] + branches: ["master"] pull_request: - branches: [ "master" ] + branches: ["master"] types: ["labeled", "opened", "synchronize", "reopened"] jobs: @@ -19,11 +19,11 @@ jobs: - name: Checkout the latest code uses: actions/checkout@v2 - name: prepare flutter - uses: subosito/flutter-action@v2 + uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046 # v2.19.0 with: - flutter-version: '3.10.0' - channel: 'stable' + flutter-version: "3.10.0" + channel: "stable" - name: Run quality checks if pipeline label was set run: | git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.10.0-x64 - make quality \ No newline at end of file + make quality