From e8dfb390136f9a3a759cc4a4936a236191e79dc2 Mon Sep 17 00:00:00 2001 From: Bent Hillerkus Date: Mon, 26 May 2025 19:28:05 +0200 Subject: [PATCH 1/3] feat: add SDK command --- puro/lib/src/cli.dart | 2 ++ puro/lib/src/commands/locate_sdk.dart | 37 +++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 puro/lib/src/commands/locate_sdk.dart diff --git a/puro/lib/src/cli.dart b/puro/lib/src/cli.dart index 4d92e36..20e38cb 100644 --- a/puro/lib/src/cli.dart +++ b/puro/lib/src/cli.dart @@ -19,6 +19,7 @@ import 'commands/flutter.dart'; import 'commands/gc.dart'; import 'commands/internal_generate_ast_parser.dart'; import 'commands/internal_generate_docs.dart'; +import 'commands/locate_sdk.dart'; import 'commands/ls_versions.dart'; import 'commands/prefs.dart'; import 'commands/pub.dart'; @@ -272,6 +273,7 @@ void main(List args) async { ..addCommand(DartCommand()) ..addCommand(PubCommand()) ..addCommand(RunCommand()) + ..addCommand(LocateSdkCommand()) ..addCommand(GenerateDocsCommand()) ..addCommand(GenerateASTParserCommand()) ..addCommand(PuroUpgradeCommand()) diff --git a/puro/lib/src/commands/locate_sdk.dart b/puro/lib/src/commands/locate_sdk.dart new file mode 100644 index 0000000..e09da4a --- /dev/null +++ b/puro/lib/src/commands/locate_sdk.dart @@ -0,0 +1,37 @@ +import 'dart:async'; + +import '../command.dart'; +import '../command_result.dart'; +import '../env/default.dart'; +import '../terminal.dart'; + +class LocateSdkCommand extends PuroCommand { + @override + final name = 'sdk'; + + @override + // Command will be used by tools, + // so there's no way to react anyways + final allowUpdateCheck = false; + + @override + final description = '''Prints the SDK path of the current environment. + +This can be used to configure vscode://settings/dart.getFlutterSdkCommand +to automatically pick up the SDK of your puro environment. + +See https://github.com/Dart-Code/Dart-Code/pull/5377'''; + + @override + + + @override + Future? run() async { + final environment = await getProjectEnvOrDefault(scope: scope); + final path = environment.flutter.sdkDir.absolute.path; + return BasicMessageResult( + path, + type: CompletionType.plain, + ); + } +} From f76a7e717b676b40a3af922c39a76c5e2557d41b Mon Sep 17 00:00:00 2001 From: Bent Hillerkus Date: Mon, 26 May 2025 19:31:31 +0200 Subject: [PATCH 2/3] fix: remove stray code --- puro/lib/src/commands/locate_sdk.dart | 3 --- 1 file changed, 3 deletions(-) diff --git a/puro/lib/src/commands/locate_sdk.dart b/puro/lib/src/commands/locate_sdk.dart index e09da4a..ddcf184 100644 --- a/puro/lib/src/commands/locate_sdk.dart +++ b/puro/lib/src/commands/locate_sdk.dart @@ -22,9 +22,6 @@ to automatically pick up the SDK of your puro environment. See https://github.com/Dart-Code/Dart-Code/pull/5377'''; - @override - - @override Future? run() async { final environment = await getProjectEnvOrDefault(scope: scope); From d08d4f87973bbdef9ae3de92f98765f559765bca Mon Sep 17 00:00:00 2001 From: Bent Hillerkus Date: Wed, 18 Jun 2025 15:50:39 +0200 Subject: [PATCH 3/3] chore: bump version --- puro/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/puro/pubspec.yaml b/puro/pubspec.yaml index 71491c0..8281a07 100644 --- a/puro/pubspec.yaml +++ b/puro/pubspec.yaml @@ -1,6 +1,6 @@ name: puro description: A powerful tool for installing and upgrading Flutter versions -version: 1.4.11 +version: 1.5.0 repository: https://github.com/pingbird/puro homepage: https://puro.dev