diff --git a/.cirrus.yml b/.cirrus.yml index c3d3448b41..286e8a6dd1 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -168,6 +168,7 @@ task: # 6 CPUs, and needed at least 8G of RAM to not run out of memory. CPU: 6 MEMORY: 8G + CHROME_NO_SANDBOX: true script: - dart --enable-asserts ./dev/bots/test.dart diff --git a/dev/automated_tests/pubspec.yaml b/dev/automated_tests/pubspec.yaml index 8fb06f908b..e2cafa284b 100644 --- a/dev/automated_tests/pubspec.yaml +++ b/dev/automated_tests/pubspec.yaml @@ -62,7 +62,7 @@ dependencies: test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -74,4 +74,4 @@ flutter: assets: - icon/ -# PUBSPEC CHECKSUM: f833 +# PUBSPEC CHECKSUM: fb8f diff --git a/dev/benchmarks/complex_layout/pubspec.yaml b/dev/benchmarks/complex_layout/pubspec.yaml index 68b2657495..d5950107fe 100644 --- a/dev/benchmarks/complex_layout/pubspec.yaml +++ b/dev/benchmarks/complex_layout/pubspec.yaml @@ -81,7 +81,7 @@ dev_dependencies: string_scanner: 1.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" xml: 3.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -93,4 +93,4 @@ flutter: - packages/flutter_gallery_assets/people/square/ali.png - packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png -# PUBSPEC CHECKSUM: 2d9e +# PUBSPEC CHECKSUM: b0fa diff --git a/dev/benchmarks/macrobenchmarks/pubspec.yaml b/dev/benchmarks/macrobenchmarks/pubspec.yaml index 9fcffba267..cc24ad2670 100644 --- a/dev/benchmarks/macrobenchmarks/pubspec.yaml +++ b/dev/benchmarks/macrobenchmarks/pubspec.yaml @@ -81,7 +81,7 @@ dev_dependencies: string_scanner: 1.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" xml: 3.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -94,4 +94,4 @@ flutter: - packages/flutter_gallery_assets/food/cherry_pie.png - assets/999x1000.png -# PUBSPEC CHECKSUM: 2d9e +# PUBSPEC CHECKSUM: b0fa diff --git a/dev/benchmarks/microbenchmarks/pubspec.yaml b/dev/benchmarks/microbenchmarks/pubspec.yaml index d34612a86e..220507e578 100644 --- a/dev/benchmarks/microbenchmarks/pubspec.yaml +++ b/dev/benchmarks/microbenchmarks/pubspec.yaml @@ -69,7 +69,7 @@ dependencies: test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -79,4 +79,4 @@ dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 208d +# PUBSPEC CHECKSUM: 8ce9 diff --git a/dev/benchmarks/test_apps/stocks/pubspec.yaml b/dev/benchmarks/test_apps/stocks/pubspec.yaml index 595b922862..2c393be2f5 100644 --- a/dev/benchmarks/test_apps/stocks/pubspec.yaml +++ b/dev/benchmarks/test_apps/stocks/pubspec.yaml @@ -78,7 +78,7 @@ dev_dependencies: sync_http: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webdriver: 2.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -88,4 +88,4 @@ dev_dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: e4c1 +# PUBSPEC CHECKSUM: f41e diff --git a/dev/bots/pubspec.yaml b/dev/bots/pubspec.yaml index ca8c3d4f2b..3bd3d2cde3 100644 --- a/dev/bots/pubspec.yaml +++ b/dev/bots/pubspec.yaml @@ -66,7 +66,7 @@ dependencies: term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -78,4 +78,4 @@ dev_dependencies: mockito: 4.1.1 test_api: 0.2.15 -# PUBSPEC CHECKSUM: 4b59 +# PUBSPEC CHECKSUM: 96b5 diff --git a/dev/bots/test.dart b/dev/bots/test.dart index f30c3ca14d..22400266aa 100644 --- a/dev/bots/test.dart +++ b/dev/bots/test.dart @@ -278,11 +278,15 @@ Future _runToolTests() async { final String suffix = Platform.isWindows && subshard == 'commands' ? 'permeable' : ''; + // Only linux has Chrome installed and is running web integration tests. + // See `_pubRunTest` for more information. + final bool forceSingleCore = Platform.isLinux && subshard == 'integration'; await _pubRunTest( toolsPath, testPaths: [path.join(kTest, '$subshard$kDotShard', suffix)], tableData: bigqueryApi?.tabledata, enableFlutterToolAsserts: true, + forceSingleCore: forceSingleCore, ); }, ); @@ -718,6 +722,7 @@ Future _pubRunTest(String workingDirectory, { bool useBuildRunner = false, String coverage, bq.TabledataResourceApi tableData, + bool forceSingleCore = false, }) async { int cpus; final String cpuVariable = Platform.environment['CPU']; // CPU is set in cirrus.yml @@ -731,6 +736,11 @@ Future _pubRunTest(String workingDirectory, { } else { cpus = 2; // Don't default to 1, otherwise we won't catch race conditions. } + // Integration tests that depend on external processes like chrome + // can get stuck if there are multiple instances running at once. + if (forceSingleCore) { + cpus = 1; + } final List args = [ 'run', diff --git a/dev/devicelab/pubspec.yaml b/dev/devicelab/pubspec.yaml index 492d527b11..1f4cbfa4fd 100644 --- a/dev/devicelab/pubspec.yaml +++ b/dev/devicelab/pubspec.yaml @@ -72,9 +72,9 @@ dev_dependencies: string_scanner: 1.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" yaml: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" -# PUBSPEC CHECKSUM: f7b1 +# PUBSPEC CHECKSUM: a40e diff --git a/dev/integration_tests/android_embedding_v2_smoke_test/pubspec.yaml b/dev/integration_tests/android_embedding_v2_smoke_test/pubspec.yaml index 18fa2acdb0..835bd3617e 100644 --- a/dev/integration_tests/android_embedding_v2_smoke_test/pubspec.yaml +++ b/dev/integration_tests/android_embedding_v2_smoke_test/pubspec.yaml @@ -20,7 +20,7 @@ dependencies: flutter: sdk: flutter # This plugin is using Android Embedding 1 - battery: 0.3.1+8 + battery: 0.3.1+9 # TODO(egarciad): Add a plugin that uses Android Embedding 2 # The following adds the Cupertino Icons font to your application. @@ -99,4 +99,4 @@ flutter: # For details regarding fonts from package dependencies, # see https://flutter.dev/custom-fonts/#from-packages -# PUBSPEC CHECKSUM: cfe7 +# PUBSPEC CHECKSUM: 7fe8 diff --git a/dev/integration_tests/android_semantics_testing/pubspec.yaml b/dev/integration_tests/android_semantics_testing/pubspec.yaml index 9e8c88764a..8bdea5fd75 100644 --- a/dev/integration_tests/android_semantics_testing/pubspec.yaml +++ b/dev/integration_tests/android_semantics_testing/pubspec.yaml @@ -60,7 +60,7 @@ dependencies: test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -71,4 +71,4 @@ dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 29b8 +# PUBSPEC CHECKSUM: 6415 diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/pubspec.yaml b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/pubspec.yaml index 84d90761ca..ff3ac1078b 100644 --- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/pubspec.yaml +++ b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/pubspec.yaml @@ -93,7 +93,7 @@ dev_dependencies: term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -140,4 +140,4 @@ flutter: # For details regarding fonts from package dependencies, # see https://flutter.dev/custom-fonts/#from-packages -# PUBSPEC CHECKSUM: 3345 +# PUBSPEC CHECKSUM: 51a1 diff --git a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/pubspec.yaml b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/pubspec.yaml index 82e1ad7154..e92e8a94f0 100644 --- a/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/pubspec.yaml +++ b/dev/integration_tests/android_splash_screens/splash_screen_trans_rotate/pubspec.yaml @@ -93,7 +93,7 @@ dev_dependencies: term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -140,4 +140,4 @@ flutter: # For details regarding fonts from package dependencies, # see https://flutter.dev/custom-fonts/#from-packages -# PUBSPEC CHECKSUM: 3345 +# PUBSPEC CHECKSUM: 51a1 diff --git a/dev/integration_tests/android_views/pubspec.yaml b/dev/integration_tests/android_views/pubspec.yaml index ec91091194..9cddaacbbe 100644 --- a/dev/integration_tests/android_views/pubspec.yaml +++ b/dev/integration_tests/android_views/pubspec.yaml @@ -82,7 +82,7 @@ dev_dependencies: string_scanner: 1.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" xml: 3.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -91,4 +91,4 @@ dev_dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: dcb9 +# PUBSPEC CHECKSUM: cc16 diff --git a/dev/integration_tests/channels/pubspec.yaml b/dev/integration_tests/channels/pubspec.yaml index 9996a9d620..abda3b4c75 100644 --- a/dev/integration_tests/channels/pubspec.yaml +++ b/dev/integration_tests/channels/pubspec.yaml @@ -64,7 +64,7 @@ dependencies: test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -75,4 +75,4 @@ dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 29b8 +# PUBSPEC CHECKSUM: 6415 diff --git a/dev/integration_tests/codegen/pubspec.yaml b/dev/integration_tests/codegen/pubspec.yaml index 092737f0ec..7a71d3406f 100644 --- a/dev/integration_tests/codegen/pubspec.yaml +++ b/dev/integration_tests/codegen/pubspec.yaml @@ -70,7 +70,7 @@ dev_dependencies: string_scanner: 1.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" yaml: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -82,4 +82,4 @@ builders: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 29b8 +# PUBSPEC CHECKSUM: 6415 diff --git a/dev/integration_tests/external_ui/pubspec.yaml b/dev/integration_tests/external_ui/pubspec.yaml index aab640efa1..87a88af38f 100644 --- a/dev/integration_tests/external_ui/pubspec.yaml +++ b/dev/integration_tests/external_ui/pubspec.yaml @@ -64,7 +64,7 @@ dependencies: test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -75,4 +75,4 @@ dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 29b8 +# PUBSPEC CHECKSUM: 6415 diff --git a/dev/integration_tests/flavors/pubspec.yaml b/dev/integration_tests/flavors/pubspec.yaml index 0bb7773418..7592307691 100644 --- a/dev/integration_tests/flavors/pubspec.yaml +++ b/dev/integration_tests/flavors/pubspec.yaml @@ -64,7 +64,7 @@ dependencies: test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -75,4 +75,4 @@ dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 29b8 +# PUBSPEC CHECKSUM: 6415 diff --git a/dev/integration_tests/flutter_driver_screenshot_test/pubspec.yaml b/dev/integration_tests/flutter_driver_screenshot_test/pubspec.yaml index 5f4ef75593..9f01ba35fa 100644 --- a/dev/integration_tests/flutter_driver_screenshot_test/pubspec.yaml +++ b/dev/integration_tests/flutter_driver_screenshot_test/pubspec.yaml @@ -71,7 +71,7 @@ dev_dependencies: string_scanner: 1.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" yaml: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -81,4 +81,4 @@ flutter: assets: - assets/ -# PUBSPEC CHECKSUM: 8f87 +# PUBSPEC CHECKSUM: 06e3 diff --git a/dev/integration_tests/flutter_gallery/pubspec.yaml b/dev/integration_tests/flutter_gallery/pubspec.yaml index 6eea821b92..d881d60115 100644 --- a/dev/integration_tests/flutter_gallery/pubspec.yaml +++ b/dev/integration_tests/flutter_gallery/pubspec.yaml @@ -94,7 +94,7 @@ dev_dependencies: sync_http: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -274,4 +274,4 @@ flutter: - asset: packages/flutter_gallery_assets/fonts/merriweather/Merriweather-Regular.ttf - asset: packages/flutter_gallery_assets/fonts/merriweather/Merriweather-Light.ttf -# PUBSPEC CHECKSUM: eaa8 +# PUBSPEC CHECKSUM: 9605 diff --git a/dev/integration_tests/image_loading/pubspec.yaml b/dev/integration_tests/image_loading/pubspec.yaml index d17bb1731c..205297db94 100644 --- a/dev/integration_tests/image_loading/pubspec.yaml +++ b/dev/integration_tests/image_loading/pubspec.yaml @@ -54,7 +54,7 @@ dependencies: test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -63,4 +63,4 @@ dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: e232 +# PUBSPEC CHECKSUM: 318e diff --git a/dev/integration_tests/ios_platform_view_tests/pubspec.yaml b/dev/integration_tests/ios_platform_view_tests/pubspec.yaml index e321bb66a7..dee8ee14f6 100644 --- a/dev/integration_tests/ios_platform_view_tests/pubspec.yaml +++ b/dev/integration_tests/ios_platform_view_tests/pubspec.yaml @@ -72,7 +72,7 @@ dev_dependencies: term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -88,4 +88,4 @@ flutter: # the material Icons class. uses-material-design: true -# PUBSPEC CHECKSUM: 509f +# PUBSPEC CHECKSUM: d7fb diff --git a/dev/integration_tests/platform_interaction/pubspec.yaml b/dev/integration_tests/platform_interaction/pubspec.yaml index 24973d7385..fa3068a990 100644 --- a/dev/integration_tests/platform_interaction/pubspec.yaml +++ b/dev/integration_tests/platform_interaction/pubspec.yaml @@ -64,7 +64,7 @@ dependencies: test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -75,4 +75,4 @@ dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 29b8 +# PUBSPEC CHECKSUM: 6415 diff --git a/dev/integration_tests/ui/pubspec.yaml b/dev/integration_tests/ui/pubspec.yaml index c107018837..b4a731c6cd 100644 --- a/dev/integration_tests/ui/pubspec.yaml +++ b/dev/integration_tests/ui/pubspec.yaml @@ -65,7 +65,7 @@ dependencies: test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -84,4 +84,4 @@ dev_dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 509f +# PUBSPEC CHECKSUM: d7fb diff --git a/dev/integration_tests/web/lib/stack_trace.dart b/dev/integration_tests/web/lib/stack_trace.dart index 94ea1bbd2c..8099ae9af5 100644 --- a/dev/integration_tests/web/lib/stack_trace.dart +++ b/dev/integration_tests/web/lib/stack_trace.dart @@ -32,8 +32,8 @@ const List expectedDebugStackFrames = [ StackFrame( number: -1, packageScheme: 'package', - package: 'web_integration', - packagePath: 'stack_trace.dart', + package: 'packages', + packagePath: 'web_integration/stack_trace.dart', line: 121, column: 3, className: '', @@ -43,8 +43,8 @@ const List expectedDebugStackFrames = [ StackFrame( number: -1, packageScheme: 'package', - package: 'web_integration', - packagePath: 'stack_trace.dart', + package: 'packages', + packagePath: 'web_integration/stack_trace.dart', line: 116, column: 3, className: '', @@ -54,8 +54,8 @@ const List expectedDebugStackFrames = [ StackFrame( number: -1, packageScheme: 'package', - package: 'web_integration', - packagePath: 'stack_trace.dart', + package: 'packages', + packagePath: 'web_integration/stack_trace.dart', line: 111, column: 3, className: '', diff --git a/dev/snippets/pubspec.yaml b/dev/snippets/pubspec.yaml index f74f536984..d46ce26ff1 100644 --- a/dev/snippets/pubspec.yaml +++ b/dev/snippets/pubspec.yaml @@ -68,7 +68,7 @@ dev_dependencies: stream_channel: 2.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -101,4 +101,4 @@ executables: vm_service_client: 0.2.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.0.9 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" -# PUBSPEC CHECKSUM: cf3c +# PUBSPEC CHECKSUM: 4698 diff --git a/dev/tools/pubspec.yaml b/dev/tools/pubspec.yaml index b550f89a2e..560c584038 100644 --- a/dev/tools/pubspec.yaml +++ b/dev/tools/pubspec.yaml @@ -63,10 +63,10 @@ dev_dependencies: stack_trace: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" stream_channel: 2.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" yaml: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" -# PUBSPEC CHECKSUM: 53fb +# PUBSPEC CHECKSUM: c858 diff --git a/examples/catalog/pubspec.yaml b/examples/catalog/pubspec.yaml index a2a9229f0d..0dd6082e7f 100644 --- a/examples/catalog/pubspec.yaml +++ b/examples/catalog/pubspec.yaml @@ -72,7 +72,7 @@ dev_dependencies: term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -84,4 +84,4 @@ dev_dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 509f +# PUBSPEC CHECKSUM: d7fb diff --git a/examples/hello_world/pubspec.yaml b/examples/hello_world/pubspec.yaml index 43d4819610..aca7b99bb3 100644 --- a/examples/hello_world/pubspec.yaml +++ b/examples/hello_world/pubspec.yaml @@ -71,7 +71,7 @@ dev_dependencies: term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -80,4 +80,4 @@ dev_dependencies: xml: 3.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" yaml: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" -# PUBSPEC CHECKSUM: 509f +# PUBSPEC CHECKSUM: d7fb diff --git a/examples/platform_channel/pubspec.yaml b/examples/platform_channel/pubspec.yaml index 12aba048ac..39c3296fdd 100644 --- a/examples/platform_channel/pubspec.yaml +++ b/examples/platform_channel/pubspec.yaml @@ -71,7 +71,7 @@ dev_dependencies: term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -83,4 +83,4 @@ dev_dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 509f +# PUBSPEC CHECKSUM: d7fb diff --git a/examples/platform_channel_swift/pubspec.yaml b/examples/platform_channel_swift/pubspec.yaml index f83ce00e5e..60b390be04 100644 --- a/examples/platform_channel_swift/pubspec.yaml +++ b/examples/platform_channel_swift/pubspec.yaml @@ -71,7 +71,7 @@ dev_dependencies: term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_api: 0.2.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" test_core: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -83,4 +83,4 @@ dev_dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: 509f +# PUBSPEC CHECKSUM: d7fb diff --git a/packages/_flutter_web_build_script/pubspec.yaml b/packages/_flutter_web_build_script/pubspec.yaml index 6070b99883..97180389ec 100644 --- a/packages/_flutter_web_build_script/pubspec.yaml +++ b/packages/_flutter_web_build_script/pubspec.yaml @@ -85,7 +85,7 @@ dependencies: test: 1.14.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" timing: 0.1.1+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + vm_service: 3.0.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" webkit_inspection_protocol: 0.5.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -95,4 +95,4 @@ dartdoc: # Exclude this package from the hosted API docs. nodoc: true -# PUBSPEC CHECKSUM: a925 +# PUBSPEC CHECKSUM: c381 diff --git a/packages/flutter/lib/src/foundation/stack_frame.dart b/packages/flutter/lib/src/foundation/stack_frame.dart index ab5c4f1be3..120309c354 100644 --- a/packages/flutter/lib/src/foundation/stack_frame.dart +++ b/packages/flutter/lib/src/foundation/stack_frame.dart @@ -103,9 +103,11 @@ class StackFrame { } static StackFrame _parseWebDebugFrame(String line) { + // This RegExp is only partially correct for flutter run/test differences. + // https://github.com/flutter/flutter/issues/52685 final bool hasPackage = line.startsWith('package'); final RegExp parser = hasPackage - ? RegExp(r'^(package:.+) (\d+):(\d+)\s+(.+)$') + ? RegExp(r'^(package.+) (\d+):(\d+)\s+(.+)$') : RegExp(r'^(.+) (\d+):(\d+)\s+(.+)$'); final Match match = parser.firstMatch(line); assert(match != null, 'Expected $line to match $parser.'); diff --git a/packages/flutter_tools/lib/src/build_runner/devfs_web.dart b/packages/flutter_tools/lib/src/build_runner/devfs_web.dart index 9037714308..8a78810c11 100644 --- a/packages/flutter_tools/lib/src/build_runner/devfs_web.dart +++ b/packages/flutter_tools/lib/src/build_runner/devfs_web.dart @@ -41,12 +41,37 @@ import '../web/chrome.dart'; /// This is only used in development mode. class WebAssetServer implements AssetReader { @visibleForTesting - WebAssetServer(this._httpServer, this._packages, this.internetAddress); + WebAssetServer( + this._httpServer, + this._packages, + this.internetAddress, + this._modules, + this._digests, + ); // Fallback to "application/octet-stream" on null which // makes no claims as to the structure of the data. static const String _kDefaultMimeType = 'application/octet-stream'; + final Map _modules; + + final Map _digests; + + void performRestart(List modules) { + for (final String module in modules) { + // We skip computing the digest by using the hashCode of the underlying buffer. + // Whenever a file is updated, the corresponding Uint8List.view it corresponds + // to will change. + final String moduleName = module.startsWith('/') + ? module.substring(1) + : module; + final String name = moduleName.replaceAll('.lib.js', ''); + final String path = moduleName.replaceAll('.js', ''); + _modules[name] = path; + _digests[name] = _files[moduleName].hashCode.toString(); + } + } + /// Start the web asset server on a [hostname] and [port]. /// /// If [testMode] is true, do not actually initialize dwds or the shelf static @@ -70,7 +95,15 @@ class WebAssetServer implements AssetReader { // ignore: deprecated_member_use final Packages packages = await loadPackagesFile( Uri.base.resolve('.packages'), loader: (Uri uri) => globals.fs.file(uri).readAsBytes()); - final WebAssetServer server = WebAssetServer(httpServer, packages, address); + final Map digests = {}; + final Map modules = {}; + final WebAssetServer server = WebAssetServer( + httpServer, + packages, + address, + modules, + digests, + ); if (testMode) { return server; } @@ -92,7 +125,13 @@ class WebAssetServer implements AssetReader { urlEncoder: urlTunneller, enableDebugging: true, serveDevTools: false, - logWriter: (Level logLevel, String message) => globals.printTrace(message) + logWriter: (Level logLevel, String message) => globals.printTrace(message), + loadStrategy: RequireStrategy( + ReloadConfiguration.none, + '.lib.js', + (String path) async => modules, + (String path) async => digests, + ), ); shelf.Pipeline pipeline = const shelf.Pipeline(); if (enableDwds) { @@ -132,6 +171,7 @@ class WebAssetServer implements AssetReader { // handle requests for JavaScript source, dart sources maps, or asset files. @visibleForTesting Future handleRequest(shelf.Request request) async { + final String requestPath = request.url.path; final Map headers = {}; // If the response is `/`, then we are requesting the index file. if (request.url.path == '/' || request.url.path.isEmpty) { @@ -150,11 +190,6 @@ class WebAssetServer implements AssetReader { final String ifNoneMatch = request.headers[HttpHeaders.ifNoneMatchHeader]; headers[HttpHeaders.cacheControlHeader] = 'max-age=0, must-revalidate'; - // NOTE: shelf removes leading `/` for some reason. - final String requestPath = request.url.path.startsWith('/') - ? request.url.path - : '/${request.url.path}'; - // If this is a JavaScript file, it must be in the in-memory cache. // Attempt to look up the file by URI. if (_files.containsKey(requestPath)) { @@ -191,13 +226,13 @@ class WebAssetServer implements AssetReader { // Try and resolve the path relative to the built asset directory. if (!file.existsSync()) { final Uri potential = globals.fs.directory(getAssetBuildDirectory()) - .uri.resolve(requestPath.replaceFirst('/assets/', '')); + .uri.resolve(requestPath.replaceFirst('assets/', '')); file = globals.fs.file(potential); } if (!file.existsSync()) { final String webPath = globals.fs.path.join( - globals.fs.currentDirectory.childDirectory('web').path, requestPath.substring(1)); + globals.fs.currentDirectory.childDirectory('web').path, requestPath); file = globals.fs.file(webPath); } @@ -272,7 +307,10 @@ class WebAssetServer implements AssetReader { codeStart, codeEnd - codeStart, ); - _files[filePath] = byteView; + final String fileName = filePath.startsWith('/') + ? filePath.substring(1) + : filePath; + _files[fileName] = byteView; final int sourcemapStart = sourcemapOffsets[0]; final int sourcemapEnd = sourcemapOffsets[1]; @@ -285,9 +323,10 @@ class WebAssetServer implements AssetReader { sourcemapStart, sourcemapEnd - sourcemapStart, ); - _sourcemaps['$filePath.map'] = sourcemapView; + final String sourcemapName = '$fileName.map'; + _sourcemaps[sourcemapName] = sourcemapView; - modules.add(filePath); + modules.add(fileName); } return modules; } @@ -331,11 +370,11 @@ class WebAssetServer implements AssetReader { File _resolveDartFile(String path) { // Return the actual file objects so that local engine changes are automatically picked up. switch (path) { - case '/dart_sdk.js': + case 'dart_sdk.js': return canvasKitRendering ? canvasKitDartSdk : dartSdk; - case '/dart_sdk.js.map': + case 'dart_sdk.js.map': return canvasKitRendering ? canvasKitDartSdkSourcemap : dartSdkSourcemap; @@ -382,7 +421,13 @@ class WebAssetServer implements AssetReader { } @override - Future dartSourceContents(String serverPath) { + Future dartSourceContents(String serverPath) async { + // TODO(jonahwilliams): ensure devtools can correctly hide this file. + final bool isEntrypointRequest = serverPath == null || serverPath.isEmpty; + if (isEntrypointRequest) { + return '/* no sourcemaps available. */'; + } + final File result = _resolveDartFile(serverPath); if (result.existsSync()) { return result.readAsString(); @@ -534,28 +579,24 @@ class WebDevFS implements DevFS { if (bundleFirstUpload) { generator.addFileSystemRoot(outputDirectoryPath); final String entrypoint = globals.fs.path.basename(mainPath); - webAssetServer.writeFile('/require.js', requireJS.readAsStringSync()); - webAssetServer.writeFile('/dart_stack_trace_mapper.js', stackTraceMapper.readAsStringSync()); - webAssetServer.writeFile('/$entrypoint', globals.fs.file(mainPath).readAsStringSync()); - webAssetServer.writeFile('/manifest.json', '{"info":"manifest not generated in run mode."}'); - webAssetServer.writeFile('/flutter_service_worker.js', '// Service worker not loaded in run mode.'); + webAssetServer.writeFile(entrypoint, globals.fs.file(mainPath).readAsStringSync()); + webAssetServer.writeFile('manifest.json', '{"info":"manifest not generated in run mode."}'); + webAssetServer.writeFile('flutter_service_worker.js', '// Service worker not loaded in run mode.'); + webAssetServer.writeFile('require.js', requireJS.readAsStringSync()); + webAssetServer.writeFile('stack_trace_mapper.js', stackTraceMapper.readAsStringSync()); webAssetServer.writeFile( - '/main.dart.js', + 'main.dart.js', generateBootstrapScript( - requireUrl: '/require.js', - mapperUrl: '/dart_stack_trace_mapper.js', - entrypoint: '/$entrypoint.lib.js', + requireUrl: 'require.js', + mapperUrl: 'stack_trace_mapper.js', ), ); webAssetServer.writeFile( - '/main_module.bootstrap.js', + 'main_module.bootstrap.js', generateMainModule( - entrypoint: '/$entrypoint.lib.js', + entrypoint: entrypoint, ), ); - // TODO(jonahwilliams): switch to DWDS provided APIs when they are ready. - webAssetServer.writeFile('/basic.digests', '{}'); - // TODO(jonahwilliams): refactor the asset code in this and the regular devfs to // be shared. if (bundle != null) { @@ -602,7 +643,7 @@ class WebDevFS implements DevFS { } on FileSystemException catch (err) { throwToolExit('Failed to load recompiled sources:\n$err'); } - + webAssetServer.performRestart(modules); return UpdateFSReport( success: true, syncedBytes: codeFile.lengthSync(), diff --git a/packages/flutter_tools/lib/src/build_runner/resident_web_runner.dart b/packages/flutter_tools/lib/src/build_runner/resident_web_runner.dart index 1c99120e56..08e1eb7062 100644 --- a/packages/flutter_tools/lib/src/build_runner/resident_web_runner.dart +++ b/packages/flutter_tools/lib/src/build_runner/resident_web_runner.dart @@ -470,7 +470,6 @@ class _ResidentWebRunner extends ResidentWebRunner { progressId: 'hot.restart', ); - String reloadModules; if (debuggingOptions.buildInfo.isDebug) { // Full restart is always false for web, since the extra recompile is wasteful. final UpdateFSReport report = await _updateDevFS(fullRestart: false); @@ -481,9 +480,6 @@ class _ResidentWebRunner extends ResidentWebRunner { await device.generator.reject(); return OperationResult(1, 'Failed to recompile application.'); } - reloadModules = report.invalidatedModules - .map((String module) => '"$module"') - .join(','); } else { try { await buildWeb( @@ -498,29 +494,22 @@ class _ResidentWebRunner extends ResidentWebRunner { } } - Duration transferMarker; try { if (!deviceIsDebuggable) { globals.printStatus('Recompile complete. Page requires refresh.'); - } else if (!debuggingOptions.buildInfo.isDebug) { + } else if (isRunningDebug) { + await _vmService.callMethod('hotRestart'); + } else { // On non-debug builds, a hard refresh is required to ensure the // up to date sources are loaded. await _wipConnection?.sendCommand('Page.reload', { 'ignoreCache': !debuggingOptions.buildInfo.isDebug, }); - } else { - transferMarker = timer.elapsed; - await _wipConnection?.debugger?.sendCommand( - 'Runtime.evaluate', params: { - 'expression': 'window.\$hotReloadHook([$reloadModules])', - 'awaitPromise': true, - 'returnByValue': true, - }, - ); } + } on Exception catch (err) { + return OperationResult(1, err.toString(), fatal: true); } on WipError catch (err) { - globals.printError(err.toString()); - return OperationResult(1, err.toString()); + return OperationResult(1, err.toString(), fatal: true); } finally { status.stop(); } @@ -539,7 +528,6 @@ class _ResidentWebRunner extends ResidentWebRunner { fullRestart: true, reason: reason, overallTimeInMs: timer.elapsed.inMilliseconds, - transferTimeInMs: timer.elapsed.inMilliseconds - transferMarker.inMilliseconds ).send(); } return OperationResult.ok; @@ -656,13 +644,19 @@ class _ResidentWebRunner extends ResidentWebRunner { // Cleanup old subscriptions. These will throw if there isn't anything // listening, which is fine because that is what we want to ensure. try { - await _vmService.streamCancel('Stdout'); + await _vmService.streamCancel(vmservice.EventStreams.kStdout); } on vmservice.RPCError { // It is safe to ignore this error because we expect an error to be // thrown if we're not already subscribed. } try { - await _vmService.streamListen('Stdout'); + await _vmService.streamListen(vmservice.EventStreams.kStdout); + } on vmservice.RPCError { + // It is safe to ignore this error because we expect an error to be + // thrown if we're not already subscribed. + } + try { + await _vmService.streamListen(vmservice.EventStreams.kIsolate); } on vmservice.RPCError { // It is safe to ignore this error because we expect an error to be // thrown if we're not already subscribed. @@ -677,8 +671,6 @@ class _ResidentWebRunner extends ResidentWebRunner { await restart(benchmarkMode: false, pause: pause, fullRestart: false); return {'type': 'Success'}; }); - // Note: can't register our own hot restart hook. Would be fixed by moving - // to DWDS digests. websocketUri = Uri.parse(_connectionResult.debugConnection.uri); // Always run main after connecting because start paused doesn't work yet. diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart index 4df5b1d96a..a845bc5f19 100644 --- a/packages/flutter_tools/lib/src/compile.dart +++ b/packages/flutter_tools/lib/src/compile.dart @@ -656,6 +656,10 @@ class DefaultResidentCompiler implements ResidentCompiler { sdkRoot, '--incremental', '--target=$targetModel', + // TODO(jonahwilliams): remove once this becomes the default behavior + // in the frontend_server. + // https://github.com/flutter/flutter/issues/52693 + '--debugger-module-names', '-Ddart.developer.causal_async_stacks=${buildMode == BuildMode.debug}', for (final Object dartDefine in dartDefines) '-D$dartDefine', diff --git a/packages/flutter_tools/lib/src/test/runner.dart b/packages/flutter_tools/lib/src/test/runner.dart index 8bae76a674..3be01e8b12 100644 --- a/packages/flutter_tools/lib/src/test/runner.dart +++ b/packages/flutter_tools/lib/src/test/runner.dart @@ -190,7 +190,7 @@ class _FlutterTestRunnerImpl implements FlutterTestRunner { return exitCode; } finally { - globals.fs.currentDirectory = saved; + globals.fs.currentDirectory = saved.path; await platform.close(); } } diff --git a/packages/flutter_tools/lib/src/web/bootstrap.dart b/packages/flutter_tools/lib/src/web/bootstrap.dart index 3d6f774909..315a29f267 100644 --- a/packages/flutter_tools/lib/src/web/bootstrap.dart +++ b/packages/flutter_tools/lib/src/web/bootstrap.dart @@ -4,39 +4,6 @@ import 'package:meta/meta.dart'; -// This logic is taken directly from https://github.com/dart-lang/build/blob/master/build_web_compilers/lib/src/dev_compiler_bootstrap.dart#L272 -// It should be fairly stable, but is otherwise required to interact with the client.js script -// vendored with DWDS. -const String _currentDirectoryScript = r''' -var _currentDirectory = (function () { - var _url; - var lines = new Error().stack.split('\n'); - function lookupUrl() { - if (lines.length > 2) { - var match = lines[1].match(/^\s+at (.+):\d+:\d+$/); - // Chrome. - if (match) return match[1]; - // Chrome nested eval case. - match = lines[1].match(/^\s+at eval [(](.+):\d+:\d+[)]$/); - if (match) return match[1]; - // Edge. - match = lines[1].match(/^\s+at.+\((.+):\d+:\d+\)$/); - if (match) return match[1]; - // Firefox. - match = lines[0].match(/[<][@](.+):\d+:\d+$/) - if (match) return match[1]; - } - // Safari. - return lines[0].match(/(.+):\d+:\d+$/)[1]; - } - _url = lookupUrl(); - var lastSlash = _url.lastIndexOf('/'); - if (lastSlash == -1) return _url; - var currentDirectory = _url.substring(0, lastSlash + 1); - return currentDirectory; -})(); -'''; - /// The JavaScript bootstrap script to support in-browser hot restart. /// /// The [requireUrl] loads our cached RequireJS script file. The [mapperUrl] @@ -49,7 +16,6 @@ var _currentDirectory = (function () { String generateBootstrapScript({ @required String requireUrl, @required String mapperUrl, - @required String entrypoint, }) { return ''' "use strict"; @@ -69,34 +35,6 @@ requireEl.src = "$requireUrl"; // This attribute tells require JS what to load as main (defined below). requireEl.setAttribute("data-main", "main_module.bootstrap"); document.head.appendChild(requireEl); - -// Invoked by connected chrome debugger for hot reload/restart support. -window.\$hotReloadHook = function(modules) { - return new Promise(function(resolve, reject) { - if (modules == null) { - reject(); - } - // If no modules change, return immediately. - if (modules.length == 0) { - resolve(); - } - var reloadCount = 0; - for (var i = 0; i < modules.length; i++) { - require.undef(modules[i]); - require([modules[i]], function(module) { - reloadCount += 1; - // once we've reloaded every module, trigger the hot reload. - if (reloadCount == modules.length) { - require(["$entrypoint", "dart_sdk"], function(app, dart_sdk) { - // See the doc comment under in generateMainModule. - window.\$dartRunMain = app[Object.keys(app)[0]].main; - window.\$hotReload(resolve); - }); - } - }); - } - }); -} '''; } @@ -112,127 +50,33 @@ window.\$hotReloadHook = function(modules) { /// this object is the module. String generateMainModule({@required String entrypoint}) { return '''/* ENTRYPOINT_EXTENTION_MARKER */ -// baseUrlScript -var baseUrl = (function () { - // Attempt to detect --precompiled mode for tests, and set the base url - // appropriately, otherwise set it to '/'. - var pathParts = location.pathname.split("/"); - if (pathParts[0] == "") { - pathParts.shift(); - } - if (pathParts.length > 1 && pathParts[1] == "test") { - return "/" + pathParts.slice(0, 2).join("/") + "/"; - } - // Attempt to detect base url using html tag - // base href should start and end with "/" - if (typeof document !== 'undefined') { - var el = document.getElementsByTagName('base'); - if (el && el[0] && el[0].getAttribute("href") && el[0].getAttribute - ("href").startsWith("/") && el[0].getAttribute("href").endsWith("/")){ - return el[0].getAttribute("href"); - } - } - // return default value - return "/"; -}()); -$_currentDirectoryScript -// dart loader -if(!window.\$dartLoader) { - window.\$dartLoader = { - appDigests: _currentDirectory + 'basic.digests', - moduleIdToUrl: new Map(), - urlToModuleId: new Map(), - rootDirectories: new Array(), - // Used in package:build_runner/src/server/build_updates_client/hot_reload_client.dart - moduleParentsGraph: new Map(), - moduleLoadingErrorCallbacks: new Map(), - forceLoadModule: function (moduleName, callback, onError) { - if (typeof onError != 'undefined') { - var errorCallbacks = \$dartLoader.moduleLoadingErrorCallbacks; - if (!errorCallbacks.has(moduleName)) { - errorCallbacks.set(moduleName, new Set()); - } - errorCallbacks.get(moduleName).add(onError); - } - requirejs.undef(moduleName); - requirejs([moduleName], function() { - if (typeof onError != 'undefined') { - errorCallbacks.get(moduleName).delete(onError); - } - if (typeof callback != 'undefined') { - callback(); - } - }); - }, - getModuleLibraries: null, // set up by _initializeTools - }; -} -let modulePaths = {}; -let customModulePaths = {}; -window.\$dartLoader.rootDirectories.push(window.location.origin + baseUrl); -for (let moduleName of Object.getOwnPropertyNames(modulePaths)) { - let modulePath = modulePaths[moduleName]; - if (modulePath != moduleName) { - customModulePaths[moduleName] = modulePath; - } - var src = window.location.origin + '/' + modulePath + '.js'; - if (window.\$dartLoader.moduleIdToUrl.has(moduleName)) { - continue; - } - \$dartLoader.moduleIdToUrl.set(moduleName, src); - \$dartLoader.urlToModuleId.set(src, moduleName); -} // Create the main module loaded below. define("main_module.bootstrap", ["$entrypoint", "dart_sdk"], function(app, dart_sdk) { dart_sdk.dart.setStartAsyncSynchronously(true); dart_sdk._debugger.registerDevtoolsFormatter(); - \$dartLoader.getModuleLibraries = dart_sdk.dart.getModuleLibraries; - if (window.\$dartStackTraceUtility && !window.\$dartStackTraceUtility.ready) { - window.\$dartStackTraceUtility.ready = true; - let dart = dart_sdk.dart; - window.\$dartStackTraceUtility.setSourceMapProvider( - function(url) { - url = url.replace(baseUrl, '/'); - var module = window.\$dartLoader.urlToModuleId.get(url); - if (!module) { - if (url.endsWith('dart_sdk.js')) { - module = 'dart_sdk'; - } else { - try { - module = '/packages' + url.split('packages')[1].split('.')[0] + '.dart'; - } catch (e) { - return null; - } - } - } - return dart.getSourceMap(module); - }); - } - if (typeof document != 'undefined') { - window.postMessage({ type: "DDC_STATE_CHANGE", state: "start" }, "*"); - } - dart_sdk._isolate_helper.startRootIsolate(() => {}, []); // See the generateMainModule doc comment. var child = {}; child.main = app[Object.keys(app)[0]].main; - if (window.\$hotReload == null) { - window.\$hotReload = function(cb) { - dart_sdk.developer.invokeExtension("ext.flutter.disassemble", "{}").then((_) => { - dart_sdk.dart.hotRestart(); - window.\$dartRunMain(); - window.requestAnimationFrame(cb); - }); - } - } /* MAIN_EXTENSION_MARKER */ child.main(); -}); -// Require JS configuration. -require.config({ - waitSeconds: 0, +window.\$dartLoader = {}; +window.\$dartLoader.rootDirectories = []; +window.\$requireLoader.getModuleLibraries = dart_sdk.dart.getModuleLibraries; + if (window.\$dartStackTraceUtility && !window.\$dartStackTraceUtility.ready) { + window.\$dartStackTraceUtility.ready = true; + let dart = dart_sdk.dart; + window.\$dartStackTraceUtility.setSourceMapProvider(function(url) { + url = url.replace(window.\$dartUriBase + '/', ''); + if (url == 'dart_sdk.js') { + return dart.getSourceMap('dart_sdk'); + } + url = url.replace(".lib.js", ""); + return dart.getSourceMap(url); + }); + } }); '''; } diff --git a/packages/flutter_tools/pubspec.yaml b/packages/flutter_tools/pubspec.yaml index e05a18ce15..4078e714c9 100644 --- a/packages/flutter_tools/pubspec.yaml +++ b/packages/flutter_tools/pubspec.yaml @@ -11,7 +11,7 @@ dependencies: # To update these, use "flutter update-packages --force-upgrade". archive: 2.0.11 args: 1.5.2 - dwds: 1.0.1 + dwds: 2.0.1 completion: 0.2.2 coverage: 0.13.9 crypto: 2.1.3 @@ -45,6 +45,8 @@ dependencies: test_api: 0.2.15 test_core: 0.3.3 + vm_service: 3.0.0+1 + _fe_analyzer_shared: 1.0.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" analyzer: 0.39.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" async: 2.4.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -55,8 +57,9 @@ dependencies: charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" convert: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" csslib: 0.16.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - devtools: 0.1.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - devtools_server: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + devtools: 0.2.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + devtools_server: 0.2.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + devtools_shared: 0.2.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" fixnum: 0.10.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" glob: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" html: 0.14.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -90,7 +93,6 @@ dependencies: term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" uuid: 2.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - vm_service: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" watcher: 0.9.7+14 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" dev_dependencies: @@ -109,4 +111,4 @@ dartdoc: # Exclude this package from the hosted API docs. nodoc: true -# PUBSPEC CHECKSUM: 8703 +# PUBSPEC CHECKSUM: 8796 diff --git a/packages/flutter_tools/test/general.shard/ios/fallback_discovery_test.dart b/packages/flutter_tools/test/general.shard/ios/fallback_discovery_test.dart index 03b0d2e63c..53f3bf698d 100644 --- a/packages/flutter_tools/test/general.shard/ios/fallback_discovery_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/fallback_discovery_test.dart @@ -49,14 +49,15 @@ void main() { testUsingContext('Selects assumed port if VM service connection is successful', () async { when(mockVmService.getVM()).thenAnswer((Invocation invocation) async { - return VM()..isolates = [ - IsolateRef(), + return VM.parse({})..isolates = [ + IsolateRef.parse({}), ]; }); when(mockVmService.getIsolate(any)).thenAnswer((Invocation invocation) async { - return Isolate() - ..rootLib = (LibraryRef()..uri = 'package:hello/main.dart'); + return Isolate.parse({}) + ..rootLib = (LibraryRef(name: 'main', uri: 'package:hello/main.dart')); }); + expect(await fallbackDiscovery.discover( assumedDevicePort: 23, deivce: null, @@ -69,18 +70,18 @@ void main() { testUsingContext('Selects assumed port when another isolate has no root library', () async { when(mockVmService.getVM()).thenAnswer((Invocation invocation) async { - return VM()..isolates = [ - IsolateRef()..id = '1', - IsolateRef()..id = '2', + return VM.parse({})..isolates = [ + IsolateRef.parse({})..id = '1', + IsolateRef.parse({})..id = '2', ]; }); when(mockVmService.getIsolate('1')).thenAnswer((Invocation invocation) async { - return Isolate() + return Isolate.parse({}) ..rootLib = null; }); when(mockVmService.getIsolate('2')).thenAnswer((Invocation invocation) async { - return Isolate() - ..rootLib = (LibraryRef()..uri = 'package:hello/main.dart'); + return Isolate.parse({}) + ..rootLib = (LibraryRef.parse({})..uri = 'package:hello/main.dart'); }); expect(await fallbackDiscovery.discover( assumedDevicePort: 23, @@ -94,12 +95,16 @@ void main() { testUsingContext('Selects mdns discovery if VM service connecton fails due to Sentinel', () async { when(mockVmService.getVM()).thenAnswer((Invocation invocation) async { - return VM()..isolates = [ - IsolateRef(), + return VM.parse({})..isolates = [ + IsolateRef( + id: 'a', + name: 'isolate', + number: '1', + ), ]; }); when(mockVmService.getIsolate(any)).thenAnswer((Invocation invocation) async { - return Sentinel(); + return Sentinel(kind: 'Something', valueAsString: 'Something'); }); when(mockMDnsObservatoryDiscovery.getObservatoryUri( diff --git a/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart b/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart index a2aa47f5b0..26cad698ff 100644 --- a/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart +++ b/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart @@ -115,6 +115,11 @@ void main() { when(mockVmService.onDebugEvent).thenAnswer((Invocation _) { return const Stream.empty(); }); + when(mockVmService.onIsolateEvent).thenAnswer((Invocation _) { + return Stream.fromIterable([ + Event(kind: EventKind.kIsolateStart, timestamp: 1), + ]); + }); when(mockDebugConnection.uri).thenReturn('ws://127.0.0.1/abcd/'); when(mockFlutterDevice.devFS).thenReturn(mockWebDevFS); when(mockWebDevFS.sources).thenReturn([]); @@ -426,7 +431,7 @@ void main() { })); test('web resident runner can toggle CanvasKit', () => testbed.run(() async { - final WebAssetServer webAssetServer = WebAssetServer(null, null, null); + final WebAssetServer webAssetServer = WebAssetServer(null, null, null, null, null); when(mockWebDevFS.webAssetServer).thenReturn(webAssetServer); expect(residentWebRunner.supportsCanvasKit, true); diff --git a/packages/flutter_tools/test/general.shard/web/bootstrap_test.dart b/packages/flutter_tools/test/general.shard/web/bootstrap_test.dart index 0e9eeb644b..43a579fc72 100644 --- a/packages/flutter_tools/test/general.shard/web/bootstrap_test.dart +++ b/packages/flutter_tools/test/general.shard/web/bootstrap_test.dart @@ -11,7 +11,6 @@ void main() { final String result = generateBootstrapScript( requireUrl: 'require.js', mapperUrl: 'mapper.js', - entrypoint: 'foo/bar/main.js', ); // require js source is interpolated correctly. expect(result, contains('requireEl.src = "require.js";')); @@ -19,9 +18,6 @@ void main() { expect(result, contains('mapperEl.src = "mapper.js";')); // data-main is set to correct bootstrap module. expect(result, contains('requireEl.setAttribute("data-main", "main_module.bootstrap");')); - // bootstrap main module has correct imports. - expect(result, contains('require(["foo/bar/main.js", "dart_sdk"],' - ' function(app, dart_sdk) {')); }); test('generateMainModule embeds urls correctly', () { diff --git a/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart b/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart index 3b6f597446..0264da212f 100644 --- a/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart +++ b/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart @@ -51,7 +51,13 @@ void main() { linux = FakePlatform(operatingSystem: 'linux', environment: {}); windows = FakePlatform(operatingSystem: 'windows', environment: {}); testbed = Testbed(setup: () { - webAssetServer = WebAssetServer(mockHttpServer, packages, InternetAddress.loopbackIPv4); + webAssetServer = WebAssetServer( + mockHttpServer, + packages, + InternetAddress.loopbackIPv4, + null, + null, + ); }); }); @@ -103,7 +109,7 @@ void main() { })); test('serves JavaScript files from in memory cache not from manifest', () => testbed.run(() async { - webAssetServer.writeFile('/foo.js', 'main() {}'); + webAssetServer.writeFile('foo.js', 'main() {}'); final Response response = await webAssetServer .handleRequest(Request('GET', Uri.parse('http://foobar/foo.js'))); @@ -118,7 +124,7 @@ void main() { })); test('Returns notModified when the ifNoneMatch header matches the etag', () => testbed.run(() async { - webAssetServer.writeFile('/foo.js', 'main() {}'); + webAssetServer.writeFile('foo.js', 'main() {}'); final Response response = await webAssetServer .handleRequest(Request('GET', Uri.parse('http://foobar/foo.js'))); @@ -376,24 +382,28 @@ void main() { invalidatedFiles: [], ); - expect(webDevFS.webAssetServer.getFile('/require.js'), isNotNull); - expect(webDevFS.webAssetServer.getFile('/dart_stack_trace_mapper.js'), isNotNull); - expect(webDevFS.webAssetServer.getFile('/main.dart'), isNotNull); - expect(webDevFS.webAssetServer.getFile('/manifest.json'), isNotNull); - expect(webDevFS.webAssetServer.getFile('/flutter_service_worker.js'), isNotNull); - expect(await webDevFS.webAssetServer.dartSourceContents('/dart_sdk.js'), 'HELLO'); - expect(await webDevFS.webAssetServer.dartSourceContents('/dart_sdk.js.map'), 'THERE'); + expect(webDevFS.webAssetServer.getFile('require.js'), isNotNull); + expect(webDevFS.webAssetServer.getFile('stack_trace_mapper.js'), isNotNull); + expect(webDevFS.webAssetServer.getFile('main.dart'), isNotNull); + expect(webDevFS.webAssetServer.getFile('manifest.json'), isNotNull); + expect(webDevFS.webAssetServer.getFile('flutter_service_worker.js'), isNotNull); + expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js'), 'HELLO'); + expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js.map'), 'THERE'); // Update to the SDK. webDevFS.webAssetServer.dartSdk.writeAsStringSync('BELLOW'); // New SDK should be visible.. - expect(await webDevFS.webAssetServer.dartSourceContents('/dart_sdk.js'), 'BELLOW'); + expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js'), 'BELLOW'); // Toggle CanvasKit webDevFS.webAssetServer.canvasKitRendering = true; - expect(await webDevFS.webAssetServer.dartSourceContents('/dart_sdk.js'), 'OL'); - expect(await webDevFS.webAssetServer.dartSourceContents('/dart_sdk.js.map'), 'CHUM'); + expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js'), 'OL'); + expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js.map'), 'CHUM'); + + // Generated entrypoint. + expect(await webDevFS.webAssetServer.dartSourceContents(null), + contains('/* no sourcemaps available. */')); await webDevFS.destroy(); })); diff --git a/packages/flutter_tools/test/integration.shard/debugger_stepping_web_test.dart b/packages/flutter_tools/test/integration.shard/debugger_stepping_web_test.dart new file mode 100644 index 0000000000..bd64e715cd --- /dev/null +++ b/packages/flutter_tools/test/integration.shard/debugger_stepping_web_test.dart @@ -0,0 +1,56 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:io'; + +import 'package:file/file.dart'; +import 'package:flutter_tools/src/base/file_system.dart'; + +import '../src/common.dart'; +import 'test_data/stepping_project.dart'; +import 'test_driver.dart'; +import 'test_utils.dart'; + +void main() { + Directory tempDirectory; + FlutterRunTestDriver flutter; + + setUp(() { + tempDirectory = createResolvedTempDirectorySync('debugger_stepping_test.'); + }); + + test('Web debugger can step over statements', () async { + final WebSteppingProject _project = WebSteppingProject(); + await _project.setUpIn(tempDirectory); + + flutter = FlutterRunTestDriver(tempDirectory); + + await flutter.run(withDebugger: true, startPaused: true, chrome: true); + await flutter.addBreakpoint(_project.breakpointUri, _project.breakpointLine); + await flutter.resume(); + await flutter.waitForPause(); // Now we should be on the breakpoint. + + expect((await flutter.getSourceLocation()).line, equals(_project.breakpointLine)); + + // Issue 5 steps, ensuring that we end up on the annotated lines each time. + for (int i = 1; i <= _project.numberOfSteps; i += 1) { + await flutter.stepOverOrOverAsyncSuspension(); + final SourcePosition location = await flutter.getSourceLocation(); + final int actualLine = location.line; + + // Get the line we're expected to stop at by searching for the comment + // within the source code. + final int expectedLine = _project.lineForStep(i); + + expect(actualLine, equals(expectedLine), + reason: 'After $i steps, debugger should stop at $expectedLine but stopped at $actualLine' + ); + } + }, skip: !Platform.isLinux); // only linux shards have Chrome installed. + + tearDown(() async { + await flutter.stop(); + tryToDelete(tempDirectory); + }); +} diff --git a/packages/flutter_tools/test/integration.shard/test_data/project.dart b/packages/flutter_tools/test/integration.shard/test_data/project.dart index cee60923a5..b4dcef929f 100644 --- a/packages/flutter_tools/test/integration.shard/test_data/project.dart +++ b/packages/flutter_tools/test/integration.shard/test_data/project.dart @@ -10,6 +10,17 @@ import 'package:flutter_tools/src/globals.dart' as globals; import '../test_utils.dart'; +const String _kDefaultHtml = ''' + + + Hello, World + + + + + +'''; + abstract class Project { Directory dir; @@ -24,6 +35,7 @@ abstract class Project { if (main != null) { writeFile(globals.fs.path.join(dir.path, 'lib', 'main.dart'), main); } + writeFile(globals.fs.path.join(dir.path, 'web', 'index.html'), _kDefaultHtml); await getPackages(dir.path); } diff --git a/packages/flutter_tools/test/integration.shard/test_data/stepping_project.dart b/packages/flutter_tools/test/integration.shard/test_data/stepping_project.dart index 4dd75a4269..ddccb329fe 100644 --- a/packages/flutter_tools/test/integration.shard/test_data/stepping_project.dart +++ b/packages/flutter_tools/test/integration.shard/test_data/stepping_project.dart @@ -57,3 +57,57 @@ class SteppingProject extends Project { final int numberOfSteps = 8; } + +class WebSteppingProject extends Project { + @override + final String pubspec = ''' + name: test + dependencies: + flutter: + sdk: flutter + '''; + + @override + final String main = r''' + import 'dart:async'; + + import 'package:flutter/material.dart'; + + void main() => runApp(new MyApp()); + + class MyApp extends StatefulWidget { + @override + _MyAppState createState() => _MyAppState(); + } + + class _MyAppState extends State { + @override + void initState() { + doAsyncStuff(); + super.initState(); + } + + Future doAsyncStuff() async { + print("test"); // BREAKPOINT + await new Future.value(true); // STEP 1 // STEP 2 + await new Future.microtask(() => true); + await new Future.delayed(const Duration(milliseconds: 1)); // STEP 3 + print("done!"); // STEP 4 + } // STEP 5 + + @override + Widget build(BuildContext context) { + return new MaterialApp( + title: 'Flutter Demo', + home: new Container(), + ); + } + } + '''; + + Uri get breakpointUri => mainDart; + int get breakpointLine => lineContaining(main, '// BREAKPOINT'); + int lineForStep(int i) => lineContaining(main, '// STEP $i'); + + final int numberOfSteps = 5; +} diff --git a/packages/flutter_tools/test/integration.shard/test_driver.dart b/packages/flutter_tools/test/integration.shard/test_driver.dart index 586d9eb99b..e8d85f21ee 100644 --- a/packages/flutter_tools/test/integration.shard/test_driver.dart +++ b/packages/flutter_tools/test/integration.shard/test_driver.dart @@ -105,7 +105,8 @@ abstract class FlutterTestDriver { .followedBy(arguments) .toList(), workingDirectory: _projectFolder.path, - environment: {'FLUTTER_TEST': 'true'}, + // The web environment variable has the same effect as `flutter config --enable-web`. + environment: {'FLUTTER_TEST': 'true', 'FLUTTER_WEB': 'true'}, ); // This class doesn't use the result of the future. It's made available @@ -114,8 +115,8 @@ abstract class FlutterTestDriver { _debugPrint('Process exited ($code)'); _hasExited = true; })); - transformToLines(_process.stdout).listen((String line) => _stdout.add(line)); - transformToLines(_process.stderr).listen((String line) => _stderr.add(line)); + transformToLines(_process.stdout).listen(_stdout.add); + transformToLines(_process.stderr).listen(_stderr.add); // Capture stderr to a buffer so we can show it all if any requests fail. _stderr.stream.listen(_errorBuffer.writeln); @@ -304,7 +305,7 @@ abstract class FlutterTestDriver { Future getTopStackFrame() async { final String flutterIsolateId = await _getFlutterIsolateId(); - final Stack stack = await _vmService.getStack(flutterIsolateId); + final Stack stack = await _vmService.getStack(flutterIsolateId) as Stack; if (stack.frames.isEmpty) { throw Exception('Stack is empty'); } @@ -433,15 +434,20 @@ class FlutterRunTestDriver extends FlutterTestDriver { bool withDebugger = false, bool startPaused = false, bool pauseOnExceptions = false, + bool chrome = false, File pidFile, }) async { await _setupProcess( [ 'run', - '--disable-service-auth-codes', + if (!chrome) + '--disable-service-auth-codes', '--machine', '-d', - 'flutter-tester', + if (chrome) + ...['chrome', '--web-run-headless'] + else + 'flutter-tester', ], withDebugger: withDebugger, startPaused: startPaused,