Handle Version Skew Errors from build_daemon (#2861) Reports version skew issues in webdev when incompatible `build_daemon` versions are used. See: https://github.com/dart-lang/build/pull/5061 Also makes build_runner versions consistent across tests/fixtures (v2.16.0).
diff --git a/debug_extension/pubspec.yaml b/debug_extension/pubspec.yaml index 72e080c..a68e255 100644 --- a/debug_extension/pubspec.yaml +++ b/debug_extension/pubspec.yaml
@@ -14,7 +14,7 @@ dev_dependencies: args: ^2.5.0 build: ^4.0.8 - build_runner: ^2.15.2 + build_runner: ^2.16.0 build_web_compilers: ^4.4.1 dwds: ^24.1.0 lints: ^6.1.0
diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml index 25600c6..42a1b30 100644 --- a/dwds/pubspec.yaml +++ b/dwds/pubspec.yaml
@@ -38,7 +38,7 @@ dev_dependencies: args: ^2.7.0 - build_daemon: ^4.0.0 + build_daemon: ^4.1.4 dart_flutter_team_lints: ^3.5.2 dwds_test_common: path: ../dwds_test_common
diff --git a/dwds_test_common/fixtures/_experiment/pubspec.yaml b/dwds_test_common/fixtures/_experiment/pubspec.yaml index 3ee0f7b..b106411 100644 --- a/dwds_test_common/fixtures/_experiment/pubspec.yaml +++ b/dwds_test_common/fixtures/_experiment/pubspec.yaml
@@ -11,5 +11,6 @@ path: ^1.8.2 dev_dependencies: - build_runner: ^2.5.0 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.4.12
diff --git a/dwds_test_common/fixtures/_test/pubspec.yaml b/dwds_test_common/fixtures/_test/pubspec.yaml index f82c911..3e86a35 100644 --- a/dwds_test_common/fixtures/_test/pubspec.yaml +++ b/dwds_test_common/fixtures/_test/pubspec.yaml
@@ -11,6 +11,7 @@ path: ^1.8.2 dev_dependencies: - build_runner: ^2.5.0 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.8.1
diff --git a/dwds_test_common/fixtures/_test_circular1/pubspec.yaml b/dwds_test_common/fixtures/_test_circular1/pubspec.yaml index 4006d58..b81da7f 100644 --- a/dwds_test_common/fixtures/_test_circular1/pubspec.yaml +++ b/dwds_test_common/fixtures/_test_circular1/pubspec.yaml
@@ -13,5 +13,6 @@ path: ../_test_circular2 dev_dependencies: - build_runner: ^2.5.0 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.4.12
diff --git a/dwds_test_common/fixtures/_test_circular2/pubspec.yaml b/dwds_test_common/fixtures/_test_circular2/pubspec.yaml index df300c1..e814478 100644 --- a/dwds_test_common/fixtures/_test_circular2/pubspec.yaml +++ b/dwds_test_common/fixtures/_test_circular2/pubspec.yaml
@@ -11,5 +11,6 @@ path: ../_test_circular1 dev_dependencies: - build_runner: ^2.5.0 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.4.12
diff --git a/dwds_test_common/fixtures/_test_dot_shorthands/pubspec.yaml b/dwds_test_common/fixtures/_test_dot_shorthands/pubspec.yaml index f91980f..bbc2e8b 100644 --- a/dwds_test_common/fixtures/_test_dot_shorthands/pubspec.yaml +++ b/dwds_test_common/fixtures/_test_dot_shorthands/pubspec.yaml
@@ -7,5 +7,6 @@ sdk: ^3.10.0 dev_dependencies: - build_runner: ^2.5.0 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.4.12
diff --git a/dwds_test_common/fixtures/_test_hot_reload/pubspec.yaml b/dwds_test_common/fixtures/_test_hot_reload/pubspec.yaml index 7a2c88f..6dc814a 100644 --- a/dwds_test_common/fixtures/_test_hot_reload/pubspec.yaml +++ b/dwds_test_common/fixtures/_test_hot_reload/pubspec.yaml
@@ -5,3 +5,8 @@ publish_to: none environment: sdk: ^3.10.0-0.0.dev + +dev_dependencies: + build_daemon: ^4.1.4 + build_runner: ^2.16.0 + build_web_compilers: ^4.8.1
diff --git a/dwds_test_common/fixtures/_test_hot_reload_breakpoints/pubspec.yaml b/dwds_test_common/fixtures/_test_hot_reload_breakpoints/pubspec.yaml index 4bb8adf..916f649 100644 --- a/dwds_test_common/fixtures/_test_hot_reload_breakpoints/pubspec.yaml +++ b/dwds_test_common/fixtures/_test_hot_reload_breakpoints/pubspec.yaml
@@ -5,3 +5,8 @@ publish_to: none environment: sdk: ^3.10.0-0.0.dev + +dev_dependencies: + build_daemon: ^4.1.4 + build_runner: ^2.16.0 + build_web_compilers: ^4.8.1
diff --git a/dwds_test_common/fixtures/_test_hot_restart1/pubspec.yaml b/dwds_test_common/fixtures/_test_hot_restart1/pubspec.yaml index c227c1d..9acf0a4 100644 --- a/dwds_test_common/fixtures/_test_hot_restart1/pubspec.yaml +++ b/dwds_test_common/fixtures/_test_hot_restart1/pubspec.yaml
@@ -11,5 +11,6 @@ path: ^1.6.1 dev_dependencies: - build_runner: ^2.5.0 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.4.12
diff --git a/dwds_test_common/fixtures/_test_hot_restart2/pubspec.yaml b/dwds_test_common/fixtures/_test_hot_restart2/pubspec.yaml index 7110d83..1027a22 100644 --- a/dwds_test_common/fixtures/_test_hot_restart2/pubspec.yaml +++ b/dwds_test_common/fixtures/_test_hot_restart2/pubspec.yaml
@@ -13,5 +13,6 @@ path: ../_test_hot_restart1 dev_dependencies: - build_runner: ^2.5.0 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.8.1
diff --git a/dwds_test_common/fixtures/_test_hot_restart_breakpoints/pubspec.yaml b/dwds_test_common/fixtures/_test_hot_restart_breakpoints/pubspec.yaml index b05e96d..8bbeb52 100644 --- a/dwds_test_common/fixtures/_test_hot_restart_breakpoints/pubspec.yaml +++ b/dwds_test_common/fixtures/_test_hot_restart_breakpoints/pubspec.yaml
@@ -7,6 +7,7 @@ sdk: ^3.10.0-0.0.dev dev_dependencies: - build_runner: ^2.5.0 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.8.1
diff --git a/dwds_test_common/fixtures/_test_package/pubspec.yaml b/dwds_test_common/fixtures/_test_package/pubspec.yaml index 142c65c..9725812 100644 --- a/dwds_test_common/fixtures/_test_package/pubspec.yaml +++ b/dwds_test_common/fixtures/_test_package/pubspec.yaml
@@ -11,5 +11,6 @@ path: ../_test dev_dependencies: - build_runner: ^2.5.0 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.4.12 \ No newline at end of file
diff --git a/dwds_test_common/fixtures/_test_parts/pubspec.yaml b/dwds_test_common/fixtures/_test_parts/pubspec.yaml index 57b9236..c3129bf 100644 --- a/dwds_test_common/fixtures/_test_parts/pubspec.yaml +++ b/dwds_test_common/fixtures/_test_parts/pubspec.yaml
@@ -11,5 +11,6 @@ path: ^1.6.1 dev_dependencies: - build_runner: ^2.5.0 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.4.12
diff --git a/dwds_test_common/fixtures/_webdev_smoke/pubspec.yaml b/dwds_test_common/fixtures/_webdev_smoke/pubspec.yaml index d370c93..f9bf432 100644 --- a/dwds_test_common/fixtures/_webdev_smoke/pubspec.yaml +++ b/dwds_test_common/fixtures/_webdev_smoke/pubspec.yaml
@@ -7,5 +7,6 @@ sdk: ^3.10.0-0.0.dev dev_dependencies: - build_runner: ^2.15.2 + build_daemon: ^4.1.4 + build_runner: ^2.16.0 build_web_compilers: ^4.4.12
diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 0854992..8e62594 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml
@@ -7,5 +7,5 @@ sdk: ^3.10.0-0.0.dev dev_dependencies: - build_runner: ^2.15.2 + build_runner: ^2.16.0 build_web_compilers: ^4.4.12
diff --git a/webdev/CHANGELOG.md b/webdev/CHANGELOG.md index 46c3c2a..6fc01eb 100644 --- a/webdev/CHANGELOG.md +++ b/webdev/CHANGELOG.md
@@ -1,3 +1,7 @@ +## 4.0.1 + +- Catch and report version skew errors when incompatible versions of `build_daemon` are used. + ## 4.0.0 - Add `module-format` flag for testing new DDC Library Bundle module format prior to release.
diff --git a/webdev/lib/src/command/build_command.dart b/webdev/lib/src/command/build_command.dart index 9a8a7c6..2d51ac8 100644 --- a/webdev/lib/src/command/build_command.dart +++ b/webdev/lib/src/command/build_command.dart
@@ -134,6 +134,9 @@ 'before starting a new instance with these options.\n\n', ); return 1; + } on VersionSkew catch (_) { + logWriter(logging.Level.SEVERE, versionSkewMessage); + return 1; } } }
diff --git a/webdev/lib/src/daemon_client.dart b/webdev/lib/src/daemon_client.dart index c0be0ea..4c32bc0 100644 --- a/webdev/lib/src/daemon_client.dart +++ b/webdev/lib/src/daemon_client.dart
@@ -11,6 +11,14 @@ import 'util.dart'; +const versionSkewMessage = + 'Incompatible build_daemon version detected.\n\n' + 'Try upgrading `build_daemon` in your project:\n\n' + ' dart pub upgrade build_daemon\n\n' + 'If the issue persists, another dependency might be constraining ' + '`build_daemon` to an older version. Try running:\n\n' + ' dart pub upgrade\n\n'; + /// Connects to the `build_runner` daemon. Future<BuildDaemonClient> connectClient( String workingDirectory,
diff --git a/webdev/lib/src/serve/dev_workflow.dart b/webdev/lib/src/serve/dev_workflow.dart index e7212eb..17542e5 100644 --- a/webdev/lib/src/serve/dev_workflow.dart +++ b/webdev/lib/src/serve/dev_workflow.dart
@@ -41,6 +41,8 @@ 'Please stop other WebDev instances running in this directory ' 'before starting a new instance with these options.', ); + } on VersionSkew { + throw StateError(versionSkewMessage); } }
diff --git a/webdev/lib/src/version.dart b/webdev/lib/src/version.dart index 66803ec..b42025e 100644 --- a/webdev/lib/src/version.dart +++ b/webdev/lib/src/version.dart
@@ -1,2 +1,2 @@ // Generated code. Do not modify. -const packageVersion = '4.0.0'; +const packageVersion = '4.0.1';
diff --git a/webdev/pubspec.yaml b/webdev/pubspec.yaml index 7a39d70..d0dfe8e 100644 --- a/webdev/pubspec.yaml +++ b/webdev/pubspec.yaml
@@ -1,6 +1,6 @@ name: webdev # Every time this changes you need to run `dart run build_runner build`. -version: 4.0.0 +version: 4.0.1 # We should not depend on a dev SDK before publishing. # publish_to: none description: >- @@ -13,7 +13,7 @@ dependencies: args: ^2.3.1 async: ^2.9.0 - build_daemon: ^4.0.0 + build_daemon: ^4.1.4 browser_launcher: ^1.1.0 collection: ^1.15.0 crypto: ^3.0.2 @@ -43,7 +43,7 @@ analysis_config: path: ../_analysis_config build: ^4.0.8 - build_runner: ^2.15.2 + build_runner: ^2.16.0 build_verify: ^3.0.0 build_version: ^2.1.1 test: ^1.21.1