6
6
7
7
import 'dart:async' ;
8
8
import 'dart:collection' ;
9
- import 'dart:convert' ;
10
- import 'dart:io' ;
11
9
import 'dart:isolate' ;
12
10
13
11
import 'package:analyzer/dart/analysis/features.dart' ;
@@ -26,7 +24,6 @@ import 'package:collection/collection.dart' show IterableExtension;
26
24
import 'package:package_config/package_config.dart' ;
27
25
import 'package:path/path.dart' as p;
28
26
import 'package:pool/pool.dart' ;
29
- import 'package:yaml/yaml.dart' ;
30
27
31
28
import 'analysis_driver.dart' ;
32
29
import 'analysis_driver_filesystem.dart' ;
@@ -553,84 +550,21 @@ class AnalyzerResolvers implements Resolvers {
553
550
void _warnOnLanguageVersionMismatch () async {
554
551
if (sdkLanguageVersion <= ExperimentStatus .currentVersion) return ;
555
552
556
- HttpClient ? client;
557
- try {
558
- client = HttpClient ();
559
- var request = await client.getUrl (
560
- Uri .https ('pub.dartlang.org' , 'api/packages/analyzer' ),
561
- );
562
- var response = await request.close ();
563
- var content = StringBuffer ();
564
- await response
565
- .transform (utf8.decoder)
566
- .listen (content.write)
567
- .asFuture <void >();
568
- var json = jsonDecode (content.toString ()) as Map <String , Object ?>;
569
- var latestAnalyzer = (json['latest' ] as Map <String , Object ?>)['version' ];
570
- var analyzerPubspecPath = p.join (
571
- await packagePath ('analyzer' ),
572
- 'pubspec.yaml' ,
573
- );
574
- var currentAnalyzer =
575
- (loadYaml (await File (analyzerPubspecPath).readAsString ())
576
- as YamlMap )['version' ];
577
-
578
- if (latestAnalyzer == currentAnalyzer) {
579
- log.warning ('''
580
- The latest `analyzer` version may not fully support your current SDK version.
581
-
582
- Analyzer language version: ${ExperimentStatus .currentVersion }
583
- SDK language version: $sdkLanguageVersion
584
-
585
- Check for an open issue at:
586
- https://github.com/dart-lang/sdk/issues?q=is%3Aissue+is%3Aopen+No+published+analyzer+$sdkLanguageVersion
587
- and thumbs up and/or subscribe to the existing issue, or file a new issue at
588
- https://github.com/dart-lang/sdk/issues/new with the title
589
- "No published analyzer available for language version $sdkLanguageVersion ".
590
- ''' );
591
- } else {
592
- var upgradeCommand =
593
- isFlutter ? 'flutter packages upgrade' : 'dart pub upgrade' ;
594
- log.warning ('''
595
- Your current `analyzer` version may not fully support your current SDK version.
596
-
597
- Analyzer language version: ${ExperimentStatus .currentVersion }
598
- SDK language version: $sdkLanguageVersion
599
-
600
- Please update to the latest `analyzer` version ($latestAnalyzer ) by running
601
- `$upgradeCommand `.
602
-
603
- If you are not getting the latest version by running the above command, you
604
- can try adding a constraint like the following to your pubspec to start
605
- diagnosing why you can't get the latest version:
606
-
607
- dev_dependencies:
608
- analyzer: ^$latestAnalyzer
609
- ''' );
610
- }
611
- } catch (_) {
612
- // Fall back on a basic message if we fail to detect the latest version for
613
- // any reason.
614
- log.warning ('''
615
- Your current `analyzer` version may not fully support your current SDK version.
616
-
617
- Analyzer language version: ${ExperimentStatus .currentVersion }
618
- SDK language version: $sdkLanguageVersion
619
-
620
- Please ensure you are on the latest `analyzer` version, which can be seen at
621
- https://pub.dev/packages/analyzer.
622
- ''' );
623
- } finally {
624
- client? .close ();
625
- }
553
+ final upgradeCommand =
554
+ isFlutter ? 'flutter packages upgrade' : 'dart pub upgrade' ;
555
+ buildLog.warning (
556
+ 'SDK language version $sdkLanguageVersion is newer than `analyzer` '
557
+ 'language version ${ExperimentStatus .currentVersion }. '
558
+ 'Run `$upgradeCommand `.' ,
559
+ );
626
560
}
627
561
628
562
/// The current feature set based on the current sdk version and enabled
629
563
/// experiments.
630
564
FeatureSet _featureSet ({List <String > enableExperiments = const []}) {
631
565
if (enableExperiments.isNotEmpty &&
632
566
sdkLanguageVersion > ExperimentStatus .currentVersion) {
633
- log .warning ('''
567
+ buildLog .warning ('''
634
568
Attempting to enable experiments `$enableExperiments `, but the current SDK
635
569
language version does not match your `analyzer` package language version:
636
570
0 commit comments