代码拉取完成,页面将自动刷新
# Name of this workspace, this is used for display purpose on the CLI
# and on your IDEs.
name: plus_plugins
repository: https://github.com/fluttercommunity/plus_plugins
# Array of globs to search for packages.
# Instead of one recursive glob, we use multiple globs to avoid
# searching every single directory in the repo.
packages:
- packages/*
- packages/*/*
- packages/*/*/*
command:
version:
# Generate commit links in package changelogs.
linkToCommits: true
# Skip generation of shared changelogs file in the repo root
workspaceChangelog: false
scripts:
lint:all:
run: melos run analyze && melos run format
description: |
Run all static analysis checks
- Analyze the project for Dart analysis issues.
- Requires `pub global activate tuneup`.
analyze:
run: |
melos exec -c 5 -- \
dart analyze . --fatal-infos
description: |
Run `dart analyze` in all packages.
- Note: you can also rely on your IDEs Dart Analysis / Issues window.
format:
run: dart pub global run flutter_plugin_tools format
description: |
activate flutter_plugin_tools
- Requires `flutter_plugin_tools` (`pub global activate flutter_plugin_tools`).
- Requires `clang-format` (can be installed via Brew on macOS).
build:all:
run: |
melos bootstrap
melos run build:example_ios_pub --no-select
melos run build:example_android_pub --no-select
melos run build:example_web --no-select
description: Build all example apps
build:example_ios:
run: |
melos exec -c 6 --fail-fast -- \
"flutter build ios --no-codesign --no-pub"
description: Build a specific example app for iOS.
packageFilters:
dirExists:
- ios
scope: "*example*"
build:example_ios_pub:
run: |
melos exec -c 6 --fail-fast -- \
"flutter build ios --no-codesign"
description: |
Build a specific example app for iOS.
melos bootstrap does not generate all files generated by a build that runs
`pub get`, and `flutter drive` does not either, so it is still necessary to
build sometimes without the `--no-pub` switch. Careful: `melos bootstrap` after.
packageFilters:
dirExists:
- ios
scope: "*example*"
build:example_android:
run: |
melos exec -c 6 --fail-fast -- \
"flutter build apk --no-pub"
description: Build a specific example app for Android.
packageFilters:
dirExists:
- android
scope: "*example*"
build:example_android_pub:
run: |
melos exec -c 6 --fail-fast -- \
"flutter build apk"
description: Build a specific example app for Android.
packageFilters:
dirExists:
- android
scope: "*example*"
build:example_macos:
run: |
melos exec -c 6 --fail-fast -- \
"flutter build macos --no-pub"
description: |
Build a specific example app for macOS.
- Requires `flutter channel stable`.
- Requires `flutter config --enable-macos-desktop` set.
packageFilters:
dirExists:
- macos
scope: "*example*"
build:example_linux:
run: |
melos exec -c 6 --fail-fast -- \
"flutter build linux --no-pub"
description: |
Build a specific example app for web.
- Requires `flutter channel stable`.
- Requires `flutter config --enable-linux-desktop` set.
packageFilters:
dirExists:
- linux
scope: "*example*"
build:example_windows:
run: |
melos exec -c 6 --fail-fast -- \
"flutter build windows --no-pub"
description: |
Build a specific example app for windows.
- Requires `flutter channel stable`.
- Requires `flutter config --enable-windows-desktop` set.
packageFilters:
dirExists:
- windows
scope: "*example*"
build:example_web:
run: |
melos exec -c 6 --fail-fast -- \
"flutter build web --no-pub"
description: |
Build a specific example app for web.
- Requires `flutter channel stable`.
packageFilters:
dirExists:
- web
scope: "*example*"
test:all:
run: melos run test --no-select && melos run test:mobile_e2e --no-select
description: Run all tests available on stable channel
test:unit_all:
run: melos run test --no-select
description: Run all tests available on stable channel
test:
run: |
melos exec -c 6 --fail-fast -- \
"flutter test --no-pub"
description: Run `flutter test` for a specific package.
packageFilters:
dirExists:
- test
ignore:
- "*web*"
- "*example*"
test:web:
run: |
melos exec -c 1 --fail-fast -- \
"flutter test --no-pub --platform=chrome"
description: Run `flutter test --platform=chrome` for a specific '*web' package.
packageFilters:
dirExists:
- test
scope: "*web*"
test:mobile_e2e:
run: |
melos exec -c 1 --fail-fast -- \
"flutter test ./integration_test/MELOS_PARENT_PACKAGE_NAME_test.dart"
description: |
Run all Android or iOS test driver e2e tests in a specific example app.
- Requires an Android emulator or iOS simulator.
packageFilters:
dirExists:
- integration_test
scope: "*example*"
test:web_e2e:
run: |
melos exec -c 1 --fail-fast -- \
"flutter drive --device-id=web-server --no-pub --driver=./integration_test/driver.dart --target=./integration_test/MELOS_PARENT_PACKAGE_NAME_web_test.dart"
description: |
Run all Web test driver e2e tests in a specific example app.
- Requires `flutter channel stable`.
- Requires chromedriver running on port 4444.
packageFilters:
dirExists:
- web
- integration_test
fileExists:
- integration_test/driver.dart
scope: "*example*"
test:linux_e2e:
run: |
melos exec -c 1 --fail-fast -- \
"flutter test -d linux ./integration_test/MELOS_PARENT_PACKAGE_NAME_test.dart"
description: |
Run all Linux test driver e2e tests in a specific example app.
- Requires `flutter channel stable`.
- Requires `flutter config --enable-linux-desktop` set.
packageFilters:
dirExists:
- linux
- integration_test
scope: "*example*"
test:macos_e2e:
run: |
melos exec -c 1 --fail-fast -- \
"flutter test -d macos ./integration_test/MELOS_PARENT_PACKAGE_NAME_test.dart"
description: |
Run all MacOS test driver e2e tests in a specific example app.
- Requires `flutter channel stable`.
- Requires `flutter config --enable-macos-desktop` set.
packageFilters:
dirExists:
- macos
- integration_test
scope: "*example*"
# Coverage
coverage: >
melos exec -c 1 --fail-fast --dir-exists=test --ignore="*example*" --ignore="*web*" -- \
flutter test --coverage
# Check pubspecs are valid and publishable in each package.
lint:pub: >
melos exec -c 5 --fail-fast --no-private --ignore="*example*" -- \
pub publish --dry-run
# Clean things very deeply, can be used to establish "pristine checkout" status
clean:deep: >
git clean -x -d -f -q
# Run all targets generally expected in CI for a full local quality check
qualitycheck: >
melos run clean:deep && melos clean && melos bootstrap && melos run lint:all && melos run build:all && melos run test:all
# Additional cleanup lifecycle script, executed when `melos clean` is ran.
postclean: >
melos exec -c 6 -- "flutter clean"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。