Dotnet Run Script Versions Save

A dotnet tool to run arbitrary commands from a project's "scripts" object

v0.6.0

1 month ago
  • Dropped support for .NET Core 3.1
  • Dropped Support for .NET 6
  • Added support for .NET 8
  • Adjusted globbing so : acts like a path separator (#131)
    • foo:* will match foo:bar but not foo:bar:baz
    • foo:*:baz will match foo:bar:baz
    • foo:** will match foo:bar and foo:bar:baz

v0.5.0

1 year ago

Added

  • New environment variable called DOTNET_R_CHILDPROCESS which is set to true when executing a script. Use this to check if you're running inside dotnet r or not. (#87)
  • Support for GitHub Actions log groups (#87)

v0.4.0

1 year ago

Note This version drops support for .NET 5 which is no longer supported, but it will continue to work with .NET 5 SDKs.

Added

  • Ability to run multiple scripts in a single call (e.g. dotnet r build test pack) (#10)
  • Support for globbing in script names (e.g dotnet r test:* will match test:unit and test:integration) (#79)

Updated

  • Bumped System.CommandLine from 2.0.0-beta3.22114.1 to 2.0.0-beta4.22272.1
  • Bumped System.CommandLine.Rendering from 0.4.0-alpha.22114.1 to 0.4.0-alpha.22272.1

v0.3.0

2 years ago

Fixed

  • Don't escape the script passed to cmd.exe, just the double dash arguments

v0.2.0

2 years ago

Note This version broke conditional script execution (cmd1 && cmd2) in cmd.exe

Added

  • Force color output with the DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION environment variable.
    • Note: this tool with output color on all platforms including when output is redirected, but the dotnet cli only supports this on Unix platforms currently. This means script results might not be colored in places like GitHub Actions build logs when using the Windows VMs.
  • Added -v alias to enable verbose output.

Fixed

  • Escape arguments for non-cmd shells
  • Quote additional arguments passed after --
  • Escape scripts with ^ passed to cmd.exe

Updated

v0.1.0

2 years ago
  • Run scripts with dotnet r ...
  • Uses cmd on Windows and sh on Linux
  • Support for pre and post scripts
  • Support for setting a custom shell such as pwsh
    • Set via the scriptShell global.json setting
    • Set via the --script-shell parameter
  • Built-in env command to list available environment variables
  • Flow parameters after -- to the running script
  • Skip commands that aren't found with the --if-present parameter