From 8fdd40e7acde5fc27226f7c284557ff1d78c86ff Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 22 Jul 2021 10:58:50 -0400 Subject: [PATCH 01/10] Move custom analysis allow list from bash to a config file --- .cirrus.yml | 2 +- packages/e2e/analysis_options.yaml | 1 - script/configs/custom_analysis.yaml | 40 ++++++++++++++++ script/tool/lib/src/analyze_command.dart | 21 ++++++++- script/tool/test/analyze_command_test.dart | 19 ++++++++ script/tool_runner.sh | 55 +--------------------- 6 files changed, 81 insertions(+), 57 deletions(-) delete mode 100644 packages/e2e/analysis_options.yaml create mode 100644 script/configs/custom_analysis.yaml diff --git a/.cirrus.yml b/.cirrus.yml index 96902cfd6d15..9ecccaebe8c2 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -70,7 +70,7 @@ task: CHANNEL: "stable" tool_script: - cd script/tool - - dart analyze --fatal-infos + - dart analyze --fatal-infos --custom_analysis=configs/custom_analysis.yaml script: - ./script/tool_runner.sh analyze ### Android tasks ### diff --git a/packages/e2e/analysis_options.yaml b/packages/e2e/analysis_options.yaml deleted file mode 100644 index cda4f6e153e6..000000000000 --- a/packages/e2e/analysis_options.yaml +++ /dev/null @@ -1 +0,0 @@ -include: ../../analysis_options_legacy.yaml diff --git a/script/configs/custom_analysis.yaml b/script/configs/custom_analysis.yaml new file mode 100644 index 000000000000..f2a4b04d31a6 --- /dev/null +++ b/script/configs/custom_analysis.yaml @@ -0,0 +1,40 @@ +# Plugins that deliberately use their own analysis_options.yaml. +# This only exists to allow incrementally switching to the newer, stricter +# analysis_options.yaml based on flutter/flutter, rather than the original +# rules based on pedantic (now at analysis_options_legacy.yaml). +# +# DO NOT add new entries to the list, unless it is to push the legacy rules +# from a top-level package into more specific packages in order to incrementally +# migrate a federated plugin. +# +# TODO(ecosystem): Remove everything from this list. See: +# https://github.com/flutter/flutter/issues/76229 +- camera +- file_selector +- flutter_plugin_android_lifecycle +- google_maps_flutter +- google_sign_in +- image_picker +- in_app_purchase +- integration_test +- ios_platform_images +- local_auth +- plugin_platform_interface +- quick_actions +- shared_preferences +- url_launcher +- video_player +- webview_flutter + +# These plugins are deprecated in favor of the Community Plus versions, and +# will be removed from the repo once the critical support window has passed, +# so are not worth updating. +- android_alarm_manager +- android_intent +- battery +- connectivity +- device_info +- package_info +- sensors +- share +- wifi_info_flutter diff --git a/script/tool/lib/src/analyze_command.dart b/script/tool/lib/src/analyze_command.dart index e56b95d88eb0..4fd15f027f50 100644 --- a/script/tool/lib/src/analyze_command.dart +++ b/script/tool/lib/src/analyze_command.dart @@ -6,6 +6,7 @@ import 'dart:async'; import 'package:file/file.dart'; import 'package:platform/platform.dart'; +import 'package:yaml/yaml.dart'; import 'common/core.dart'; import 'common/package_looping_command.dart'; @@ -23,7 +24,10 @@ class AnalyzeCommand extends PackageLoopingCommand { }) : super(packagesDir, processRunner: processRunner, platform: platform) { argParser.addMultiOption(_customAnalysisFlag, help: - 'Directories (comma separated) that are allowed to have their own analysis options.', + 'Directories (comma separated) that are allowed to have their own ' + 'analysis options.\n\n' + 'Alternately, a list of one or more YAML files that contain a list ' + 'of allowed directories.', defaultsTo: []); argParser.addOption(_analysisSdk, valueHelp: 'dart-sdk', @@ -37,6 +41,8 @@ class AnalyzeCommand extends PackageLoopingCommand { late String _dartBinaryPath; + Set _allowedCustomAnalysisDirectories = const {}; + @override final String name = 'analyze'; @@ -56,7 +62,7 @@ class AnalyzeCommand extends PackageLoopingCommand { continue; } - final bool allowed = (getStringListArg(_customAnalysisFlag)).any( + final bool allowed = _allowedCustomAnalysisDirectories.any( (String directory) => directory.isNotEmpty && path.isWithin( @@ -107,6 +113,17 @@ class AnalyzeCommand extends PackageLoopingCommand { throw ToolExit(_exitPackagesGetFailed); } + _allowedCustomAnalysisDirectories = + getStringListArg(_customAnalysisFlag).expand((String item) { + if (item.endsWith('.yaml')) { + final File file = packagesDir.fileSystem.file(item); + return (loadYaml(file.readAsStringSync()) as YamlList) + .toList() + .cast(); + } + return [item]; + }).toSet(); + // Use the Dart SDK override if one was passed in. final String? dartSdk = argResults![_analysisSdk] as String?; _dartBinaryPath = diff --git a/script/tool/test/analyze_command_test.dart b/script/tool/test/analyze_command_test.dart index 69a2c4f95523..9dc8b6a3fca5 100644 --- a/script/tool/test/analyze_command_test.dart +++ b/script/tool/test/analyze_command_test.dart @@ -176,6 +176,25 @@ void main() { ])); }); + test('takes an allow config file', () async { + final Directory pluginDir = createFakePlugin('foo', packagesDir, + extraFiles: ['analysis_options.yaml']); + final File allowFile = packagesDir.childFile('custom.yaml'); + allowFile.writeAsStringSync('- foo'); + + await runCapturingPrint( + runner, ['analyze', '--custom-analysis', allowFile.path]); + + expect( + processRunner.recordedCalls, + orderedEquals([ + ProcessCall( + 'flutter', const ['packages', 'get'], pluginDir.path), + ProcessCall('dart', const ['analyze', '--fatal-infos'], + pluginDir.path), + ])); + }); + // See: https://github.com/flutter/flutter/issues/78994 test('takes an empty allow list', () async { createFakePlugin('foo', packagesDir, diff --git a/script/tool_runner.sh b/script/tool_runner.sh index d16e940d5a4d..11a54ce435a4 100755 --- a/script/tool_runner.sh +++ b/script/tool_runner.sh @@ -10,58 +10,7 @@ readonly REPO_DIR="$(dirname "$SCRIPT_DIR")" source "$SCRIPT_DIR/common.sh" -# Plugins that are excluded from this task. -ALL_EXCLUDED=("") - -# Plugins that deliberately use their own analysis_options.yaml. -# -# This list should only be deleted from, never added to. This only exists -# because we adopted stricter analysis rules recently and needed to exclude -# already failing packages to start linting the repo as a whole. -# -# Finding all: `find packages -name analysis_options.yaml | sort | cut -d/ -f2` -# -# TODO(ecosystem): Remove everything from this list. https://github.com/flutter/flutter/issues/76229 -CUSTOM_ANALYSIS_PLUGINS=( - android_alarm_manager - android_intent - battery - camera - connectivity - cross_file - device_info - e2e - espresso - file_selector - flutter_plugin_android_lifecycle - google_maps_flutter - google_sign_in - image_picker - in_app_purchase - integration_test - ios_platform_images - local_auth - package_info - plugin_platform_interface - quick_actions - sensors - share - shared_preferences - url_launcher - video_player - webview_flutter - wifi_info_flutter -) - -# Comma-separated string of the list above -readonly CUSTOM_FLAG=$(IFS=, ; echo "${CUSTOM_ANALYSIS_PLUGINS[*]}") -# Set some default actions if run without arguments. ACTIONS=("$@") -if [[ "${#ACTIONS[@]}" == 0 ]]; then - ACTIONS=("analyze" "--custom-analysis" "$CUSTOM_FLAG" "test" "java-test") -elif [[ "${ACTIONS[0]}" == "analyze" ]]; then - ACTIONS=("${ACTIONS[@]}" "--custom-analysis" "$CUSTOM_FLAG") -fi BRANCH_NAME="${BRANCH_NAME:-"$(git rev-parse --abbrev-ref HEAD)"}" @@ -71,8 +20,8 @@ PLUGIN_SHARDING=($PLUGIN_SHARDING) if [[ "${BRANCH_NAME}" == "master" ]]; then echo "Running for all packages" - (cd "$REPO_DIR" && plugin_tools "${ACTIONS[@]}" --exclude="$ALL_EXCLUDED" ${PLUGIN_SHARDING[@]}) + (cd "$REPO_DIR" && plugin_tools "${ACTIONS[@]}" ${PLUGIN_SHARDING[@]}) else echo running "${ACTIONS[@]}" - (cd "$REPO_DIR" && plugin_tools "${ACTIONS[@]}" --run-on-changed-packages --exclude="$ALL_EXCLUDED" ${PLUGIN_SHARDING[@]}) + (cd "$REPO_DIR" && plugin_tools "${ACTIONS[@]}" --run-on-changed-packages ${PLUGIN_SHARDING[@]}) fi From 39149cf2dd9dbf2d7ca5da2b278eca1531ad6646 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 22 Jul 2021 11:20:02 -0400 Subject: [PATCH 02/10] Move exclude lists from Cirrus config to config files --- .cirrus.yml | 36 +++---------------- .../configs/exclude_integration_android.yaml | 22 ++++++++++++ script/configs/exclude_integration_ios.yaml | 6 ++++ script/configs/exclude_integration_web.yaml | 5 +++ script/configs/exclude_native_macos.yaml | 4 +++ .../tool/lib/src/common/plugin_command.dart | 13 ++++++- .../tool/test/common/plugin_command_test.dart | 13 +++++++ 7 files changed, 67 insertions(+), 32 deletions(-) create mode 100644 script/configs/exclude_integration_android.yaml create mode 100644 script/configs/exclude_integration_ios.yaml create mode 100644 script/configs/exclude_integration_web.yaml create mode 100644 script/configs/exclude_native_macos.yaml diff --git a/.cirrus.yml b/.cirrus.yml index 9ecccaebe8c2..e3bddb6ffcd6 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -70,7 +70,7 @@ task: CHANNEL: "stable" tool_script: - cd script/tool - - dart analyze --fatal-infos --custom_analysis=configs/custom_analysis.yaml + - dart analyze --fatal-infos --custom_analysis=script/configs/custom_analysis.yaml script: - ./script/tool_runner.sh analyze ### Android tasks ### @@ -137,22 +137,6 @@ task: CHANNEL: "stable" MAPS_API_KEY: ENCRYPTED[596a9f6bca436694625ac50851dc5da6b4d34cba8025f7db5bc9465142e8cd44e15f69e3507787753accebfc4910d550] GCLOUD_FIREBASE_TESTLAB_KEY: ENCRYPTED[07586610af1fdfc894e5969f70ef2458341b9b7e9c3b7c4225a663b4a48732b7208a4d91c3b7d45305a6b55fa2a37fc4] - # Currently missing harness files (https://github.com/flutter/flutter/issues/86749): - # camera/camera - # google_sign_in/google_sign_in - # in_app_purchase/in_app_purchase - # in_app_purchase_android - # quick_actions - # shared_preferences/shared_preferences - # url_launcher/url_launcher - # video_player/video_player - # webview_flutter - # Deprecated; no plan to backfill the missing files: - # android_intent,connectivity/connectivity,device_info/device_info,sensors,share,wifi_info_flutter/wifi_info_flutter - # No integration tests to run: - # image_picker/image_picker - Native UI is the critical functionality - # espresso - No Dart code, so no integration tests - PLUGINS_TO_EXCLUDE_INTEGRATION_TESTS: "camera/camera,google_sign_in/google_sign_in,in_app_purchase/in_app_purchase,in_app_purchase_android,quick_actions,shared_preferences/shared_preferences,url_launcher/url_launcher,video_player/video_player,webview_flutter,android_intent,connectivity/connectivity,device_info/device_info,sensors,share,wifi_info_flutter/wifi_info_flutter,image_picker/image_picker,espresso" build_script: # Unsetting CIRRUS_CHANGE_MESSAGE and CIRRUS_COMMIT_MESSAGE as they # might include non-ASCII characters which makes Gradle crash. @@ -175,16 +159,13 @@ task: - export CIRRUS_COMMIT_MESSAGE="" - if [[ -n "$GCLOUD_FIREBASE_TESTLAB_KEY" ]]; then - echo $GCLOUD_FIREBASE_TESTLAB_KEY > ${HOME}/gcloud-service-key.json - - ./script/tool_runner.sh firebase-test-lab --device model=flame,version=29 --device model=starqlteue,version=26 --exclude $PLUGINS_TO_EXCLUDE_INTEGRATION_TESTS + - ./script/tool_runner.sh firebase-test-lab --device model=flame,version=29 --device model=starqlteue,version=26 --exclude=script/configs/exclude_integration_android.yaml - else - echo "This user does not have permission to run Firebase Test Lab tests." - fi ### Web tasks ### - name: build-web+drive-examples env: - # Currently missing; see https://github.com/flutter/flutter/issues/81982 - # and https://github.com/flutter/flutter/issues/82211 - PLUGINS_TO_EXCLUDE_INTEGRATION_TESTS: "file_selector,shared_preferences_web" matrix: CHANNEL: "master" CHANNEL: "stable" @@ -197,7 +178,7 @@ task: build_script: - ./script/tool_runner.sh build-examples --web drive_script: - - ./script/tool_runner.sh drive-examples --web --exclude $PLUGINS_TO_EXCLUDE_INTEGRATION_TESTS + - ./script/tool_runner.sh drive-examples --web --exclude=script/configs/exclude_integration_web.yaml # macOS tasks. task: @@ -219,10 +200,6 @@ task: - name: build-ipas+drive-examples env: PATH: $PATH:/usr/local/bin - # in_app_purchase_ios is currently missing tests; see https://github.com/flutter/flutter/issues/81695 - # ios_platform_images is currently missing tests; see https://github.com/flutter/flutter/issues/82208 - # sensor hangs on CI. - PLUGINS_TO_EXCLUDE_INTEGRATION_TESTS: "in_app_purchase_ios,ios_platform_images,sensors" matrix: PLUGIN_SHARDING: "--shardIndex 0 --shardCount 4" PLUGIN_SHARDING: "--shardIndex 1 --shardCount 4" @@ -245,7 +222,7 @@ task: # `drive-examples` contains integration tests, which changes the UI of the application. # This UI change sometimes affects `xctest`. # So we run `drive-examples` after `xctest`, changing the order will result ci failure. - - ./script/tool_runner.sh drive-examples --ios --exclude $PLUGINS_TO_EXCLUDE_INTEGRATION_TESTS + - ./script/tool_runner.sh drive-examples --ios --exclude=script/configs/exclude_integration_ios.yaml ### macOS desktop tasks ### - name: build_all_plugins_macos env: @@ -257,9 +234,6 @@ task: - ./script/build_all_plugins_app.sh macos - name: build-macos+drive-examples env: - # conncectivity_macos is deprecated, so is not getting unit test backfill. - # package_info is deprecated, so is not getting unit test backfill. - PLUGINS_TO_EXCLUDE_MACOS_XCTESTS: "connectivity_macos,package_info" matrix: CHANNEL: "master" CHANNEL: "stable" @@ -270,6 +244,6 @@ task: xcode_analyze_script: - ./script/tool_runner.sh xcode-analyze --macos xctest_script: - - ./script/tool_runner.sh xctest --macos --exclude $PLUGINS_TO_EXCLUDE_MACOS_XCTESTS + - ./script/tool_runner.sh xctest --macos --exclude=script/configs/exclude_native_macos.yaml drive_script: - ./script/tool_runner.sh drive-examples --macos diff --git a/script/configs/exclude_integration_android.yaml b/script/configs/exclude_integration_android.yaml new file mode 100644 index 000000000000..9fc31ec2166a --- /dev/null +++ b/script/configs/exclude_integration_android.yaml @@ -0,0 +1,22 @@ +# Currently missing harness files: https://github.com/flutter/flutter/issues/86749) +- camera/camera +- google_sign_in/google_sign_in +- in_app_purchase/in_app_purchase +- in_app_purchase_android +- quick_actions +- shared_preferences/shared_preferences +- url_launcher/url_launcher +- video_player/video_player +- webview_flutter + +# Deprecated; no plan to backfill the missing files +- android_intent +- connectivity/connectivity +- device_info/device_info +- sensors +- share +- wifi_info_flutter/wifi_info_flutter + +# No integration tests to run: +- image_picker/image_picker +- espresso diff --git a/script/configs/exclude_integration_ios.yaml b/script/configs/exclude_integration_ios.yaml new file mode 100644 index 000000000000..e1ae6adf49cf --- /dev/null +++ b/script/configs/exclude_integration_ios.yaml @@ -0,0 +1,6 @@ +# Currently missing: https://github.com/flutter/flutter/issues/81695 +- in_app_purchase_ios +# Currently missing: https://github.com/flutter/flutter/issues/82208 +- ios_platform_images +# Hangs on CI. Deprecated, so there is no plan to fix it. +- sensors diff --git a/script/configs/exclude_integration_web.yaml b/script/configs/exclude_integration_web.yaml new file mode 100644 index 000000000000..f5065cea5348 --- /dev/null +++ b/script/configs/exclude_integration_web.yaml @@ -0,0 +1,5 @@ + +# Currently missing: https://github.com/flutter/flutter/issues/81982 +- shared_preferences_web +# Currently missing: https://github.com/flutter/flutter/issues/82211 +- file_selector diff --git a/script/configs/exclude_native_macos.yaml b/script/configs/exclude_native_macos.yaml new file mode 100644 index 000000000000..3f43fce4780c --- /dev/null +++ b/script/configs/exclude_native_macos.yaml @@ -0,0 +1,4 @@ + +# Deprecated plugins that will not be getting unit test backfill. +- connectivity_macos +- package_info diff --git a/script/tool/lib/src/common/plugin_command.dart b/script/tool/lib/src/common/plugin_command.dart index ecdcb0565d35..3b1d8c51daa5 100644 --- a/script/tool/lib/src/common/plugin_command.dart +++ b/script/tool/lib/src/common/plugin_command.dart @@ -9,6 +9,7 @@ import 'package:file/file.dart'; import 'package:git/git.dart'; import 'package:path/path.dart' as p; import 'package:platform/platform.dart'; +import 'package:yaml/yaml.dart'; import 'core.dart'; import 'git_version_finder.dart'; @@ -214,8 +215,18 @@ abstract class PluginCommand extends Command { /// of packages in the flutter/packages repository. Stream _getAllPlugins() async* { Set plugins = Set.from(getStringListArg(_packagesArg)); + final Set excludedPlugins = - Set.from(getStringListArg(_excludeArg)); + getStringListArg(_excludeArg).expand((String item) { + if (item.endsWith('.yaml')) { + final File file = packagesDir.fileSystem.file(item); + return (loadYaml(file.readAsStringSync()) as YamlList) + .toList() + .cast(); + } + return [item]; + }).toSet(); + final bool runOnChangedPackages = getBoolArg(_runOnChangedPackagesArg); if (plugins.isEmpty && runOnChangedPackages && diff --git a/script/tool/test/common/plugin_command_test.dart b/script/tool/test/common/plugin_command_test.dart index fdab9612be3f..7f67acfb2df3 100644 --- a/script/tool/test/common/plugin_command_test.dart +++ b/script/tool/test/common/plugin_command_test.dart @@ -172,6 +172,19 @@ void main() { expect(plugins, unorderedEquals([plugin2.path])); }); + test('exclude accepts config files', () async { + createFakePlugin('plugin1', packagesDir); + final File configFile = packagesDir.childFile('exclude.yaml'); + configFile.writeAsStringSync('- plugin1'); + + await runCapturingPrint(runner, [ + 'sample', + '--packages=plugin1', + '--exclude=${configFile.path}' + ]); + expect(plugins, unorderedEquals([])); + }); + group('test run-on-changed-packages', () { test('all plugins should be tested if there are no changes.', () async { final Directory plugin1 = createFakePlugin('plugin1', packagesDir); From 57d246de0f57108e472f6b87558d9c4c6be724a5 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 22 Jul 2021 11:30:36 -0400 Subject: [PATCH 03/10] Add a README --- script/configs/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 script/configs/README.md diff --git a/script/configs/README.md b/script/configs/README.md new file mode 100644 index 000000000000..96423cf2779b --- /dev/null +++ b/script/configs/README.md @@ -0,0 +1,8 @@ +This folder contains configuration files that are passed to commands in place +of plugin lists. They are primarily used by CI to opt specific packages out of +tests, but can also useful when running multi-plugin tests locally. + +**Any entry added to a file in this directory should include a comment**. +Skipping tests or checks for plugins is usually not something we want to do, +so should the comment should either include an issue link to the issue tracking +removing it or—much more rarely—explaining why it is a permanent exclusion. From fdc5c6001522dea44afc1717b21771e2e299eac4 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 22 Jul 2021 11:33:53 -0400 Subject: [PATCH 04/10] CHANGELOG --- script/tool/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/script/tool/CHANGELOG.md b/script/tool/CHANGELOG.md index d701278ee76f..cd1a54c99804 100644 --- a/script/tool/CHANGELOG.md +++ b/script/tool/CHANGELOG.md @@ -1,5 +1,9 @@ ## NEXT +- `--exclude` and `--custom-analysis` now accept paths to YAML files that + contain lists of packages to exclude, in addition to just package names, + so that exclude lists can be maintained separately from scripts and CI + configuration. - Added an `xctest` flag to select specific test targets, to allow running only unit tests or integration tests. - Split Xcode analysis out of `xctest` and into a new `xcode-analyze` command. From 82610a0f4d9feec141caaac87d53bf9023f99883 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 22 Jul 2021 11:38:40 -0400 Subject: [PATCH 05/10] Help update --- script/tool/lib/src/common/plugin_command.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/script/tool/lib/src/common/plugin_command.dart b/script/tool/lib/src/common/plugin_command.dart index 3b1d8c51daa5..7781eee0d961 100644 --- a/script/tool/lib/src/common/plugin_command.dart +++ b/script/tool/lib/src/common/plugin_command.dart @@ -49,7 +49,9 @@ abstract class PluginCommand extends Command { argParser.addMultiOption( _excludeArg, abbr: 'e', - help: 'Exclude packages from this command.', + help: 'A list of packages to exclude from from this command.\n\n' + 'Alternately, a list of one or more YAML files that contain a list ' + 'of packages to exclude.', defaultsTo: [], ); argParser.addFlag(_runOnChangedPackagesArg, From a3f822cc1dfe71c81992d8fef2761262a7979c41 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 22 Jul 2021 11:41:50 -0400 Subject: [PATCH 06/10] Fix CI config --- .cirrus.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index e3bddb6ffcd6..064ce9c48bef 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -70,9 +70,9 @@ task: CHANNEL: "stable" tool_script: - cd script/tool - - dart analyze --fatal-infos --custom_analysis=script/configs/custom_analysis.yaml + - dart analyze --fatal-infos script: - - ./script/tool_runner.sh analyze + - ./script/tool_runner.sh analyze --custom_analysis=script/configs/custom_analysis.yaml ### Android tasks ### - name: build_all_plugins_apk env: From 07726440dc10274d0b8381c67f2bbb8e472b0ee6 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 22 Jul 2021 11:43:02 -0400 Subject: [PATCH 07/10] Whitespace --- script/configs/exclude_integration_web.yaml | 1 - script/configs/exclude_native_macos.yaml | 1 - 2 files changed, 2 deletions(-) diff --git a/script/configs/exclude_integration_web.yaml b/script/configs/exclude_integration_web.yaml index f5065cea5348..99e20831b3c2 100644 --- a/script/configs/exclude_integration_web.yaml +++ b/script/configs/exclude_integration_web.yaml @@ -1,4 +1,3 @@ - # Currently missing: https://github.com/flutter/flutter/issues/81982 - shared_preferences_web # Currently missing: https://github.com/flutter/flutter/issues/82211 diff --git a/script/configs/exclude_native_macos.yaml b/script/configs/exclude_native_macos.yaml index 3f43fce4780c..8a817a9c0178 100644 --- a/script/configs/exclude_native_macos.yaml +++ b/script/configs/exclude_native_macos.yaml @@ -1,4 +1,3 @@ - # Deprecated plugins that will not be getting unit test backfill. - connectivity_macos - package_info From dd21f8d285bcea90413114284edbf5ad77dcd712 Mon Sep 17 00:00:00 2001 From: Stuart Morgan Date: Thu, 22 Jul 2021 12:12:50 -0400 Subject: [PATCH 08/10] Typo fix --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 064ce9c48bef..71d9d655e9cb 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -72,7 +72,7 @@ task: - cd script/tool - dart analyze --fatal-infos script: - - ./script/tool_runner.sh analyze --custom_analysis=script/configs/custom_analysis.yaml + - ./script/tool_runner.sh analyze --custom-analysis=script/configs/custom_analysis.yaml ### Android tasks ### - name: build_all_plugins_apk env: From b90049580afed678b8160646f397bd34b04f8989 Mon Sep 17 00:00:00 2001 From: stuartmorgan Date: Thu, 22 Jul 2021 11:14:58 -0700 Subject: [PATCH 09/10] Update custom_analysis.yaml --- script/configs/custom_analysis.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/script/configs/custom_analysis.yaml b/script/configs/custom_analysis.yaml index f2a4b04d31a6..f6dc8e288b55 100644 --- a/script/configs/custom_analysis.yaml +++ b/script/configs/custom_analysis.yaml @@ -1,4 +1,5 @@ # Plugins that deliberately use their own analysis_options.yaml. +# # This only exists to allow incrementally switching to the newer, stricter # analysis_options.yaml based on flutter/flutter, rather than the original # rules based on pedantic (now at analysis_options_legacy.yaml). From 86e8af26dc6b00fddb714d7e1dac7a42405d62d1 Mon Sep 17 00:00:00 2001 From: stuartmorgan Date: Thu, 22 Jul 2021 11:16:54 -0700 Subject: [PATCH 10/10] Update .cirrus.yml --- .cirrus.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index f58479217676..54c4c3799ec3 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -223,7 +223,7 @@ task: drive_script: # `drive-examples` contains integration tests, which changes the UI of the application. # This UI change sometimes affects `xctest`. - # So we run `drive-examples` after `native-test`, changing the order will result ci failure. + # So we run `drive-examples` after `native-test`; changing the order will result ci failure. - ./script/tool_runner.sh drive-examples --ios --exclude=script/configs/exclude_integration_ios.yaml ### macOS desktop tasks ### - name: build_all_plugins_macos @@ -245,7 +245,7 @@ task: - ./script/tool_runner.sh build-examples --macos xcode_analyze_script: - ./script/tool_runner.sh xcode-analyze --macos - xctest_script: + native_test_script: - ./script/tool_runner.sh native-test --macos --exclude=script/configs/exclude_native_macos.yaml drive_script: - ./script/tool_runner.sh drive-examples --macos