Skip to content

A dotnet tool runner that automatically updates the tool package before and while running it

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
license.txt
Notifications You must be signed in to change notification settings

devlooped/dotnet-evergreen

Icon dotnet-evergreen

Version Downloads License Build

A dotnet global tool runner that automatically updates the tool package before running it, checks for updates while it runs, and restarts the tool as needed after updating it.

dotnet evergreen
  Run an evergreen version of a tool

Usage:
  dotnet evergreen [options] [<tool> [<args>...]]

Arguments:
  <tool>  Package Id of tool to run.
  <args>  Additional arguments and options supported by the tool

Options:
  -s, --source <source>      NuGet feed to check for updates. [default: https://api.nuget.org/v3/index.json]
  --singleton                Ensure a single tool process is running.
  -i, --interval <interval>  Time interval in seconds for the update checks. [default: 5]
  -f, --force                Stop all running tool processes to apply updates. [default: True]
  -p, --prerelease           Whether to include pre-release packages. [default: False]
  -q, --quiet                Do not display any informational messages.
  -?, -h, --help             Show help and usage information
  --version                  Show version information

Features:

  • Automatically exits if the tool also runs to completion

  • Forwards exit code from the tool

  • Restarts tool as needed to apply updates

  • Stops all other tool running processes so updating succeeds (can be opted out with -f=false)

  • Ensures a single tool is running (--singleton option)

  • Passes all tool options verbatim (except for evergreen options, specified before the tool argument)

  • Automatically discovers tool command when it doesn't match the tool package id (i.e. dotnet-eventgrid > eventgrid).

  • Supports dotnetconfig for options. Example:

    [evergreen]
      interval = 5
      source = https://myfeed.com/index.json 
      singleton = true
      prerelease = true
    

Examples:

> dotnet evergreen dotnet-echo
> dotnet evergreen dotnet-tor

Sponsors

Clarius Org Kirill Osenkov MFB Technologies, Inc. Stephen Shaw Torutek DRIVE.NET, Inc. Ashley Medway Keith Pickford Thomas Bolon Kori Francis Toni Wenzel Giorgi Dalakishvili Mike James Uno Platform Dan Siegel Reuben Swartz Jacob Foshee Eric Johnson Ix Technologies B.V. David JENNI Jonathan Oleg Kyrylchuk Charley Wu Jakob Tikjøb Andersen Seann Alexander Tino Hager Mark Seemann Angelo Belchior Ken Bonny Simon Cropp agileworks-eu sorahex Zheyu Shen Vezel Michael Staib ChilliCream 4OTC

Sponsor this project  

Learn more about GitHub Sponsors

About

A dotnet tool runner that automatically updates the tool package before and while running it

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
license.txt

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project