Skip to content

only run in shell when on windows and running a .bat file#252

Merged
jakemac53 merged 3 commits into
mainfrom
dont-use-run-in-shell
Jul 30, 2025
Merged

only run in shell when on windows and running a .bat file#252
jakemac53 merged 3 commits into
mainfrom
dont-use-run-in-shell

Conversation

@jakemac53

Copy link
Copy Markdown
Contributor

Based on this suggestion from @DanTup dart-lang/tools#2138 (comment)

@github-actions

Copy link
Copy Markdown

PR Health

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

runInShell:
// Required when running .bat files on windows, but otherwise should
// be avoided.
io.Platform.isWindows && commandWithPaths.first.endsWith('.bat'),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you doing any escaping of the command/args before here, or does that just happen inside processManager when runInShell is true? (you probably don't want any escaping when this is false).

You might also want to include .cmd for completeness (I didn't in Dart-Code because I know the only Windows shell scripts are flutter.bat).

I don't know how this works for non-Windows. I presume it you use a shell script that has a shebang line it'll just spawn the shell anyway (Dart-Code never uses shell execute for non-Windows).

@jakemac53 jakemac53 Jul 30, 2025

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you doing any escaping of the command/args before here, or does that just happen inside processManager when runInShell is true? (you probably don't want any escaping when this is false).

Nothing is happening before here (or at all by us)

Comment thread pkgs/dart_mcp_server/lib/src/utils/cli_utils.dart Outdated
Comment thread pkgs/dart_mcp_server/lib/src/utils/cli_utils.dart Outdated
@auto-submit

auto-submit Bot commented Jul 30, 2025

Copy link
Copy Markdown

autosubmit label was removed for dart-lang/ai/252, because - The status or check suite build (master, windows-latest) has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit auto-submit Bot removed the autosubmit label Jul 30, 2025

@bwilkerson bwilkerson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Danny can provide better feedback than I can, but lgtm.

@DanTup DanTup left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - the test failure doesn't seem related to this, but there doesn't seem to be much in the logs to understand why it timed out.

@jakemac53

Copy link
Copy Markdown
Contributor Author

Re-running the failed job to make sure it was a flake

@jakemac53 jakemac53 merged commit 0dbbd8b into main Jul 30, 2025
31 of 32 checks passed
@jakemac53 jakemac53 deleted the dont-use-run-in-shell branch July 30, 2025 21:09
copybara-service Bot pushed a commit to dart-lang/sdk that referenced this pull request Aug 4, 2025
…, web, webdriver

Revisions updated by `dart tools/rev_sdk_deps.dart`.

ai (https://github.com/dart-lang/ai/compare/7fbe88a..72a9283):
  72a9283  2025-07-31  Jacob MacDonald  add --exclude-tool option to exclude tools by name (dart-lang/ai#253)
  0dbbd8b  2025-07-30  Jacob MacDonald  only run in shell when on windows and running a .bat file (dart-lang/ai#252)
  0858b0b  2025-07-28  Jacob MacDonald  further prompt refinement, discourage use of temp ids and encourage getting the widget tree often (dart-lang/ai#249)
  912c1f3  2025-07-28  Jacob MacDonald  release dart_mcp v0.3.3 (dart-lang/ai#247)
  0f7cba8  2025-07-28  Jacob MacDonald  add analytics tracking for prompts (dart-lang/ai#246)

dartdoc (https://github.com/dart-lang/dartdoc/compare/882aea9..414953e):
  414953ed  2025-08-04  Sam Rawlins  Simplify how inheritance is computed. (dart-lang/dartdoc#4079)

ecosystem (https://github.com/dart-lang/ecosystem/compare/d5233c6..2fe3618):
  2fe3618  2025-08-01  dependabot[bot]  Bump the github-actions group with 3 updates (dart-lang/ecosystem#361)

protobuf (https://github.com/dart-lang/protobuf/compare/44ecd74..0b73b0d):
  0b73b0d  2025-07-30  Devon Carew  workspace, formatting, and proto version updates (google/protobuf.dart#1033)
  a664760  2025-07-30  Devon Carew  various CI workflow updates (google/protobuf.dart#1035)

test (https://github.com/dart-lang/test/compare/6aeb1e4..953e828):
  953e8282  2025-08-01  Nate Bosch  Drop executable arguments forwarding (dart-lang/test#2528)

tools (https://github.com/dart-lang/tools/compare/2a2a2d6..5e977d6):
  5e977d6f  2025-07-30  Jacob MacDonald  Fix mixtures of parentheses and spaces in windows command paths (dart-lang/tools#2138)
  607340ca  2025-07-29  Devon Carew  disable failing test (dart-lang/tools#2136)

vector_math (https://github.com/google/vector_math.dart/compare/13f185f..3939545):
  3939545  2025-08-04  Kevin Moore  Bump min SDK to 3.7, update dependencies, reformat (google/vector_math.dart#348)

web (https://github.com/dart-lang/web/compare/da1dd5d..1d5771b):
  1d5771b  2025-07-31  Nikechukwu  [interop] Add support for importing and exporting declarations, as well as multi-file output (dart-lang/web#418)

webdriver (https://github.com/google/webdriver.dart/compare/cfab787..595649d):
  595649d  2025-08-01  dependabot[bot]  Bump nanasess/setup-chromedriver (google/webdriver.dart#331)

Change-Id: Ia014bf6cafa9edcdaf453edda9cd5ecff516e16d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/443625
Auto-Submit: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants