From e820190e776bdbb3d81f0a4e17aa3d2cbb68731a Mon Sep 17 00:00:00 2001 From: Jake Macdonald Date: Thu, 29 May 2025 16:52:36 +0000 Subject: [PATCH 1/2] create the working dir if it doesn\'t exist --- pkgs/dart_mcp_server/lib/src/utils/cli_utils.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/dart_mcp_server/lib/src/utils/cli_utils.dart b/pkgs/dart_mcp_server/lib/src/utils/cli_utils.dart index 4fce8b75..2edb221f 100644 --- a/pkgs/dart_mcp_server/lib/src/utils/cli_utils.dart +++ b/pkgs/dart_mcp_server/lib/src/utils/cli_utils.dart @@ -210,9 +210,12 @@ Future runCommandInRoot( } commandWithPaths.addAll(paths); + final workingDir = fileSystem.directory(projectRoot.path); + await workingDir.create(recursive: true); + final result = await processManager.run( commandWithPaths, - workingDirectory: projectRoot.path, + workingDirectory: workingDir.path, runInShell: true, ); From ed50a4f70152f9e00ff249cf7dabe86e73f46e03 Mon Sep 17 00:00:00 2001 From: Jake Macdonald Date: Thu, 29 May 2025 16:57:50 +0000 Subject: [PATCH 2/2] add test --- pkgs/dart_mcp_server/test/utils/cli_utils_test.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/dart_mcp_server/test/utils/cli_utils_test.dart b/pkgs/dart_mcp_server/test/utils/cli_utils_test.dart index 36b97e11..9a5fa1ce 100644 --- a/pkgs/dart_mcp_server/test/utils/cli_utils_test.dart +++ b/pkgs/dart_mcp_server/test/utils/cli_utils_test.dart @@ -54,6 +54,7 @@ void main() { test( 'can run commands with roots that are subdirectories of known roots', () async { + expect(fileSystem.directory('/bar/baz').existsSync(), false); final result = await runCommandInRoots( CallToolRequest( name: 'foo', @@ -76,6 +77,7 @@ void main() { workingDirectory: '/bar/baz/', )), ]); + expect(fileSystem.directory('/bar/baz').existsSync(), true); }, ); });