Skip to content

Commit 6682810

Browse files
matanlureymboetger
authored andcommitted
Remove IDE validation from flutter doctor (flutter#171924)
Closes flutter#61246. I open to doing this behind a flag, but given we decided already 5 years ago to do this, I'm leaning limiting this to an announcement (`flutter-announce@`) and just landing this cleanup. Open to suggestions.
1 parent 1ddae7f commit 6682810

File tree

10 files changed

+13
-1830
lines changed

10 files changed

+13
-1830
lines changed

packages/flutter_tools/lib/src/android/android_studio.dart

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@ import '../base/version.dart';
1414
import '../convert.dart';
1515
import '../globals.dart' as globals;
1616
import '../ios/plist_parser.dart';
17-
import 'android_studio_validator.dart';
17+
18+
const _androidStudioTitle = 'Android Studio';
19+
const _androidStudioId = 'AndroidStudio';
20+
const _androidStudioPreviewTitle = 'Android Studio Preview';
21+
const _androidStudioPreviewId = 'AndroidStudioPreview';
1822

1923
// Android Studio layout:
2024

@@ -351,6 +355,11 @@ class AndroidStudio {
351355
.toList();
352356
}
353357

358+
static const _idToTitle = <String, String>{
359+
_androidStudioId: _androidStudioTitle,
360+
_androidStudioPreviewId: _androidStudioPreviewTitle,
361+
};
362+
354363
static List<AndroidStudio> _allLinuxOrWindows() {
355364
final studios = <AndroidStudio>[];
356365

@@ -415,7 +424,7 @@ class AndroidStudio {
415424
}
416425
for (final Directory dir in cacheDir.listSync().whereType<Directory>()) {
417426
final String name = globals.fs.path.basename(dir.path);
418-
AndroidStudioValidator.idToTitle.forEach((String id, String title) {
427+
_idToTitle.forEach((String id, String title) {
419428
if (name.startsWith(id)) {
420429
final String version = name.substring(id.length);
421430
String? installPath;

packages/flutter_tools/lib/src/android/android_studio_validator.dart

Lines changed: 0 additions & 135 deletions
This file was deleted.

packages/flutter_tools/lib/src/doctor.dart

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import 'package:meta/meta.dart';
88
import 'package:process/process.dart';
99
import 'package:unified_analytics/unified_analytics.dart';
1010

11-
import 'android/android_studio_validator.dart';
1211
import 'android/android_workflow.dart';
1312
import 'artifacts.dart';
1413
import 'base/async_guard.dart';
@@ -30,15 +29,13 @@ import 'doctor_validator.dart';
3029
import 'features.dart';
3130
import 'globals.dart' as globals;
3231
import 'http_host_validator.dart';
33-
import 'intellij/intellij_validator.dart';
3432
import 'linux/linux_doctor.dart';
3533
import 'linux/linux_workflow.dart';
3634
import 'macos/macos_workflow.dart';
3735
import 'macos/xcode_validator.dart';
3836
import 'proxy_validator.dart';
3937
import 'tester/flutter_tester.dart';
4038
import 'version.dart';
41-
import 'vscode/vscode_validator.dart';
4239
import 'web/chrome.dart';
4340
import 'web/web_validator.dart';
4441
import 'web/workflow.dart';
@@ -49,23 +46,17 @@ import 'windows/windows_workflow.dart';
4946
abstract class DoctorValidatorsProvider {
5047
// Allow tests to construct a [_DefaultDoctorValidatorsProvider] with explicit
5148
// [FeatureFlags].
52-
factory DoctorValidatorsProvider.test({
53-
Platform? platform,
54-
Logger? logger,
55-
required FeatureFlags featureFlags,
56-
}) {
49+
factory DoctorValidatorsProvider.test({Platform? platform, required FeatureFlags featureFlags}) {
5750
return _DefaultDoctorValidatorsProvider(
5851
featureFlags: featureFlags,
5952
platform: platform ?? FakePlatform(),
60-
logger: logger ?? BufferLogger.test(),
6153
);
6254
}
6355

6456
/// The singleton instance, pulled from the [AppContext].
6557
static DoctorValidatorsProvider get _instance => context.get<DoctorValidatorsProvider>()!;
6658

6759
static final DoctorValidatorsProvider defaultInstance = _DefaultDoctorValidatorsProvider(
68-
logger: globals.logger,
6960
platform: globals.platform,
7061
featureFlags: featureFlags,
7162
);
@@ -75,17 +66,12 @@ abstract class DoctorValidatorsProvider {
7566
}
7667

7768
class _DefaultDoctorValidatorsProvider implements DoctorValidatorsProvider {
78-
_DefaultDoctorValidatorsProvider({
79-
required this.platform,
80-
required this.featureFlags,
81-
required Logger logger,
82-
}) : _logger = logger;
69+
_DefaultDoctorValidatorsProvider({required this.platform, required this.featureFlags});
8370

8471
List<DoctorValidator>? _validators;
8572
List<Workflow>? _workflows;
8673
final Platform platform;
8774
final FeatureFlags featureFlags;
88-
final Logger _logger;
8975

9076
late final linuxWorkflow = LinuxWorkflow(platform: platform, featureFlags: featureFlags);
9177

@@ -100,25 +86,6 @@ class _DefaultDoctorValidatorsProvider implements DoctorValidatorsProvider {
10086
if (_validators != null) {
10187
return _validators!;
10288
}
103-
104-
final ideValidators = <DoctorValidator>[
105-
if (androidWorkflow!.appliesToHostPlatform)
106-
...AndroidStudioValidator.allValidators(
107-
globals.config,
108-
platform,
109-
globals.fs,
110-
globals.userMessages,
111-
),
112-
...IntelliJValidator.installedValidators(
113-
fileSystem: globals.fs,
114-
platform: platform,
115-
userMessages: globals.userMessages,
116-
plistParser: globals.plistParser,
117-
processManager: globals.processManager,
118-
logger: _logger,
119-
),
120-
...VsCodeValidator.installedValidators(globals.fs, platform, globals.processManager),
121-
];
12289
final proxyValidator = ProxyValidator(platform: platform);
12390
_validators = <DoctorValidator>[
12491
FlutterValidator(
@@ -172,7 +139,6 @@ class _DefaultDoctorValidatorsProvider implements DoctorValidatorsProvider {
172139
userMessages: globals.userMessages,
173140
),
174141
if (windowsWorkflow!.appliesToHostPlatform) visualStudioValidator!,
175-
if (ideValidators.isNotEmpty) ...ideValidators else NoIdeValidator(),
176142
if (proxyValidator.shouldShow) proxyValidator,
177143
if (globals.deviceManager?.canListAnything ?? false)
178144
DeviceValidator(deviceManager: globals.deviceManager, userMessages: globals.userMessages),

packages/flutter_tools/lib/src/intellij/intellij.dart

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5-
/// @docImport 'intellij_validator.dart';
6-
library;
7-
85
import 'package:archive/archive.dart';
96

107
import '../base/file_system.dart';
@@ -35,10 +32,6 @@ import '../doctor_validator.dart';
3532
///
3633
/// Intellij Flutter plugin's files can be found here:
3734
/// https://plugins.jetbrains.com/plugin/9212-flutter/versions/stable
38-
///
39-
/// See also:
40-
/// * [IntelliJValidator], the validator base class that uses this to check
41-
/// plugin versions.
4235
class IntelliJPlugins {
4336
IntelliJPlugins(this.pluginsPath, {required FileSystem fileSystem}) : _fileSystem = fileSystem;
4437

0 commit comments

Comments
 (0)