Skip to content

Commit

Permalink
update language version check when using experiments (#2840)
Browse files Browse the repository at this point in the history
We no longer require an exact match, only that the sdk version is not ahead of the analyzer version.

Also:

* Prepares to release build_resolvers 1.4.1
* Run all packages that have tests which require experiment flags on 2.10 dev instead of 2.11 dev since analyzer doesn't yet have an analyzer version for 2.11.
* Closes #2787
  • Loading branch information
jakemac53 committed Sep 25, 2020
1 parent 6256ac5 commit 90531a4
Show file tree
Hide file tree
Showing 9 changed files with 43 additions and 36 deletions.
42 changes: 24 additions & 18 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@ jobs:
env: PKGS="_test _test_common"
script: ./tool/travis.sh dartanalyzer_0
- stage: analyze_and_format
name: "SDK: dev; PKG: _test_null_safety; TASKS: `dartanalyzer --enable-experiment=non-nullable --fatal-infos --fatal-warnings .`"
dart: dev
name: "SDK: 2.10.0-110.0.dev; PKG: _test_null_safety; TASKS: `dartanalyzer --enable-experiment=non-nullable --fatal-infos --fatal-warnings .`"
dart: "2.10.0-110.0.dev"
os: linux
env: PKGS="_test_null_safety"
script: ./tool/travis.sh dartanalyzer_1
- stage: analyze_and_format
name: "SDK: dev; PKGS: build, build_config, build_daemon, build_modules, build_resolvers, build_runner, build_runner_core, build_test, build_vm_compilers, build_web_compilers, example, scratch_space; TASKS: [`dartfmt -n --set-exit-if-changed .`, `dartanalyzer --fatal-infos --fatal-warnings .`]"
name: "SDK: dev; PKGS: build, build_config, build_daemon, build_modules, build_runner, build_runner_core, build_test, build_vm_compilers, example, scratch_space; TASKS: [`dartfmt -n --set-exit-if-changed .`, `dartanalyzer --fatal-infos --fatal-warnings .`]"
dart: dev
os: linux
env: PKGS="build build_config build_daemon build_modules build_resolvers build_runner build_runner_core build_test build_vm_compilers build_web_compilers example scratch_space"
env: PKGS="build build_config build_daemon build_modules build_runner build_runner_core build_test build_vm_compilers example scratch_space"
script: ./tool/travis.sh dartfmt dartanalyzer_0
- stage: analyze_and_format
name: "SDK: 2.9.0; PKGS: build, build_config, build_daemon, build_resolvers, build_runner_core, build_test, build_vm_compilers, scratch_space; TASKS: `dartanalyzer --fatal-warnings .`"
Expand All @@ -40,8 +40,14 @@ jobs:
env: PKGS="build build_config build_daemon build_resolvers build_runner_core build_test build_vm_compilers scratch_space"
script: ./tool/travis.sh dartanalyzer_2
- stage: analyze_and_format
name: "SDK: dev; PKG: build_web_compilers; TASKS: `dartanalyzer --fatal-warnings .`"
dart: dev
name: "SDK: 2.10.0-110.0.dev; PKGS: build_resolvers, build_web_compilers; TASKS: [`dartfmt -n --set-exit-if-changed .`, `dartanalyzer --fatal-infos --fatal-warnings .`]"
dart: "2.10.0-110.0.dev"
os: linux
env: PKGS="build_resolvers build_web_compilers"
script: ./tool/travis.sh dartfmt dartanalyzer_0
- stage: analyze_and_format
name: "SDK: 2.10.0-110.0.dev; PKG: build_web_compilers; TASKS: `dartanalyzer --fatal-warnings .`"
dart: "2.10.0-110.0.dev"
os: linux
env: PKGS="build_web_compilers"
script: ./tool/travis.sh dartanalyzer_2
Expand Down Expand Up @@ -106,17 +112,17 @@ jobs:
env: PKGS="build_modules"
script: ./tool/travis.sh test_07
- stage: unit_test
name: "SDK: dev; PKG: build_resolvers; TASKS: [`pub run test --test-randomize-ordering-seed=random`, `test/flutter_test.sh`]"
dart: dev
name: "SDK: 2.10.0-110.0.dev; PKG: build_resolvers; TASKS: `pub run test --test-randomize-ordering-seed=random`"
dart: "2.10.0-110.0.dev"
os: linux
env: PKGS="build_resolvers"
script: ./tool/travis.sh test_06 command_3
script: ./tool/travis.sh test_06
- stage: unit_test
name: "SDK: dev; PKG: build_resolvers; TASKS: [`pub run test --test-randomize-ordering-seed=random`, `test/flutter_test.sh`]"
dart: dev
name: "SDK: 2.10.0-110.0.dev; PKG: build_resolvers; TASKS: `pub run test --test-randomize-ordering-seed=random`"
dart: "2.10.0-110.0.dev"
os: windows
env: PKGS="build_resolvers"
script: ./tool/travis.sh test_06 command_3
script: ./tool/travis.sh test_06
- stage: unit_test
name: "SDK: dev; PKG: build_runner; TASKS: `pub run test -x integration --test-randomize-ordering-seed=random`"
dart: dev
Expand Down Expand Up @@ -172,14 +178,14 @@ jobs:
env: PKGS="build_vm_compilers"
script: ./tool/travis.sh test_05
- stage: unit_test
name: "SDK: dev; PKG: build_web_compilers; TASKS: `pub run test --test-randomize-ordering-seed=random`"
dart: dev
name: "SDK: 2.10.0-110.0.dev; PKG: build_web_compilers; TASKS: `pub run test --test-randomize-ordering-seed=random`"
dart: "2.10.0-110.0.dev"
os: linux
env: PKGS="build_web_compilers"
script: ./tool/travis.sh test_06
- stage: unit_test
name: "SDK: dev; PKG: build_web_compilers; TASKS: `pub run test --test-randomize-ordering-seed=random`"
dart: dev
name: "SDK: 2.10.0-110.0.dev; PKG: build_web_compilers; TASKS: `pub run test --test-randomize-ordering-seed=random`"
dart: "2.10.0-110.0.dev"
os: windows
env: PKGS="build_web_compilers"
script: ./tool/travis.sh test_06
Expand Down Expand Up @@ -226,8 +232,8 @@ jobs:
env: PKGS="_test"
script: ./tool/travis.sh test_04
- stage: e2e_test
name: "SDK: dev; PKG: _test_null_safety; TASKS: `pub run build_runner test --enable-experiment=non-nullable -- -p chrome,vm --test-randomize-ordering-seed=random`"
dart: dev
name: "SDK: 2.10.0-110.0.dev; PKG: _test_null_safety; TASKS: `pub run build_runner test --enable-experiment=non-nullable -- -p chrome,vm --test-randomize-ordering-seed=random`"
dart: "2.10.0-110.0.dev"
os: linux
env: PKGS="_test_null_safety"
script: ./tool/travis.sh command_2
Expand Down
3 changes: 2 additions & 1 deletion _test_null_safety/mono_pkg.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
dart:
- dev
# TODO: Update to `dev` https://github.com/dart-lang/build/issues/2841
- 2.10.0-110.0.dev

os:
- linux
Expand Down
6 changes: 5 additions & 1 deletion build_resolvers/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
## 1.4.1-dev
## 1.4.1

- Update the exception thrown when using experiments without an exactly
matching analyzer version to instead ensure that the sdk version is not
ahead of the analyzer version.

## 1.4.0

Expand Down
11 changes: 4 additions & 7 deletions build_resolvers/lib/src/resolver.dart
Original file line number Diff line number Diff line change
Expand Up @@ -433,13 +433,8 @@ final _dartUiPath =
/// experiments.
FeatureSet _featureSet({List<String> enableExperiments}) {
enableExperiments ??= [];
if (enableExperiments.isEmpty) {
return FeatureSet.fromEnableFlags2(
sdkLanguageVersion: sdkLanguageVersion, flags: []);
} else if (sdkLanguageVersion == ExperimentStatus.currentVersion) {
return FeatureSet.fromEnableFlags2(
sdkLanguageVersion: sdkLanguageVersion, flags: enableExperiments);
} else {
if (enableExperiments.isNotEmpty &&
sdkLanguageVersion > ExperimentStatus.currentVersion) {
throw StateError('''
Attempting to enable experiments `$enableExperiments`, but the current SDK
language version does not match your `analyzer` package language version:
Expand All @@ -456,6 +451,8 @@ package in your `pubspec.yaml`, so you may have to add that. You can see your
current version by running `pub deps`.
''');
}
return FeatureSet.fromEnableFlags2(
sdkLanguageVersion: sdkLanguageVersion, flags: enableExperiments);
}

/// Path to the running dart's SDK root.
Expand Down
6 changes: 4 additions & 2 deletions build_resolvers/mono_pkg.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
dart:
- dev
# TODO: Update to `dev` https://github.com/dart-lang/build/issues/2841
- 2.10.0-110.0.dev

stages:
- analyze_and_format:
Expand All @@ -12,7 +13,8 @@ stages:
- unit_test:
- group:
- test: --test-randomize-ordering-seed=random
- command: test/flutter_test.sh
# TODO: Restore this https://github.com/dart-lang/build/issues/2841
# - command: test/flutter_test.sh
os:
- linux
- windows
Expand Down
2 changes: 1 addition & 1 deletion build_resolvers/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: build_resolvers
version: 1.4.1-dev
version: 1.4.1
description: Resolve Dart code in a Builder
homepage: https://github.com/dart-lang/build/tree/master/build_resolvers

Expand Down
2 changes: 1 addition & 1 deletion build_resolvers/test/resolver_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ void main() {
var originalLevel = Logger.root.level;
Logger.root.level = Level.WARNING;
var listener = Logger.root.onRecord.listen((record) {
fail('Got an unexpected warning during analyzsis:\n\n$record');
fail('Got an unexpected warning during analysis:\n\n$record');
});
addTearDown(() {
Logger.root.level = originalLevel;
Expand Down
3 changes: 2 additions & 1 deletion build_web_compilers/mono_pkg.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
dart:
- dev
# TODO: Update to `dev` https://github.com/dart-lang/build/issues/2841
- 2.10.0-110.0.dev

stages:
- analyze_and_format:
Expand Down
4 changes: 0 additions & 4 deletions tool/travis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,6 @@ for PKG in ${PKGS}; do
echo 'pub run build_runner test --enable-experiment=non-nullable -- -p chrome,vm --test-randomize-ordering-seed=random'
pub run build_runner test --enable-experiment=non-nullable -- -p chrome,vm --test-randomize-ordering-seed=random || EXIT_CODE=$?
;;
command_3)
echo 'test/flutter_test.sh'
test/flutter_test.sh || EXIT_CODE=$?
;;
dartanalyzer_0)
echo 'dartanalyzer --fatal-infos --fatal-warnings .'
dartanalyzer --fatal-infos --fatal-warnings . || EXIT_CODE=$?
Expand Down

0 comments on commit 90531a4

Please sign in to comment.