文件最后提交记录最后更新时间
[all] Omit obvious local types (#10511) Makes the analysis options changes described in https://github.com/flutter/flutter/issues/178827: - Adding [omit_obvious_local_variable_types](https://dart.dev/tools/linter-rules/omit_obvious_local_variable_types) - Adding [specify_nonobvious_local_variable_types](https://dart.dev/tools/linter-rules/specify_nonobvious_local_variable_types) - Adding [specify_nonobvious_property_types](https://dart.dev/tools/linter-rules/specify_nonobvious_property_types) - Adding [type_annotate_public_apis](https://dart.dev/tools/linter-rules/type_annotate_public_apis) - Removing [always_specify_types](https://dart.dev/tools/linter-rules/always_specify_types) After those changes, makes the following repo-wide changes: - dart fix --apply in all packages and in script/tool/ - dart format in all packages and in script/tool/ - update-excerpts repo tooling command to update excerpts based on the changes to their sources Also updates the min Flutter/Dart SDK version to 3.35/3.9 for the following packages, to avoid analyze failures in the N-2 legacy analysis run due to what appears to be a 3.9 change in what the Dart analyzer continues to be an obvious local type in loop iterations: - go_router - google_fonts - google_identity_services_web - google_maps_flutter_web - local_auth_platform_interface - metrics_center - multicast_dns - pigeon - rfw - shared_preferences - two_dimensional_scrollables - vector_graphics_compiler - mustache_template - path_parsing Because this is causing a significant amount of format churn already, I took this opportunity to update the repository tooling to a min Dart SDK of 3.8 (the N-2 stable version, so the earliest version we need the tooling to support) to pick up the new format style, so the amount of automated formatter change is higher in script/tool/ than in the packages. This does contain two manual changes (other than the repo tooling min version): - https://github.com/flutter/packages/commit/d700b45c7df3a79f66dc119ad36dd2bc1e042acf changes dynamic to Object? in a few places where dynamic caused analyzer warnings under the new rule set. - Updates the repo tooling to ignore .dart_tool/ when looking for unexpected local analysis_options.yaml files, to fix issues running the repo tool's analyze command locally based on recent changes in dart behavior. This does not include any CHANGELOG or version updates; even though we normally version any changes to production code, mass automated changes like this aren't worth the churn of releasing. This includes changes to lib/example/main.dart and to README.md excerpts; while the style changes will be user-visible on pub.dev, it's fine for those changes to wait for the next release of each package. Part of https://github.com/flutter/flutter/issues/1788276 个月前
[web_benchmarks] migrate to pkg:web (#5592) Drop dart:html Enables usage via WebAssembly Fixes https://github.com/flutter/flutter/issues/1395772 年前
README.md

testing README

How to run the testing directory tests

The benchmarks contained in this directory use a client-server model, similar to what the integration_test package does. In order to run the tests inside testing, do the following:

  • Install Chrome in a way that tests can find it.

  • Fetch dependencies for the test_app directory inside testing:

    flutter pub get --directory testing/test_app
    
  • Fetch dependencies for the web_benchmarks directory:

    flutter pub get
    
  • Run the tests with flutter test:

    $ flutter test testing
    
    00:03 +0: Can run a web benchmark
    Launching Chrome.
    Launching Google Chrome 98.0.4758.102
    
    Waiting for the benchmark to report benchmark profile.
    [CHROME]: [0215/133233.327761:ERROR:socket_posix.cc(150)] bind() failed: Address already in use (98)
    [CHROME]:
    [CHROME]: DevTools listening on ws://[::1]:10000/devtools/browser/4ef82be6-9b68-4fd3-ab90-cd603d25ceb1
    Connecting to DevTools: ws://localhost:10000/devtools/page/21E7271507E9BC796B957E075515520F
    Connected to Chrome tab:  (http://localhost:9999/index.html)
    Launching benchmark "scroll"
    Extracted 299 measured frames.
    Skipped 1 non-measured frames.
    Launching benchmark "page"
    [APP] Testing round 0...
    [APP] Testing round 1...
    [APP] Testing round 2...
    [APP] Testing round 3...
    [APP] Testing round 4...
    [APP] Testing round 5...
    [APP] Testing round 6...
    [APP] Testing round 7...
    [APP] Testing round 8...
    [APP] Testing round 9...
    Extracted 490 measured frames.
    Skipped 0 non-measured frames.
    Launching benchmark "tap"
    [APP] Testing round 0...
    [APP] Testing round 1...
    [APP] Testing round 2...
    [APP] Testing round 3...
    [APP] Testing round 4...
    [APP] Testing round 5...
    [APP] Testing round 6...
    [APP] Testing round 7...
    [APP] Testing round 8...
    [APP] Testing round 9...
    Extracted 299 measured frames.
    Skipped 0 non-measured frames.
    Received profile data
    00:26 +1: All tests passed!
    

(If the above stops working, take a look at what the web_benchmarks_test Cirrus step is currently doing, and update this document accordingly!)