https://github.com/devlooped/dotnet-evergreen
A dotnet tool runner that automatically updates the tool package before and while running it
https://github.com/devlooped/dotnet-evergreen
Last synced: 12 months ago
JSON representation
A dotnet tool runner that automatically updates the tool package before and while running it
- Host: GitHub
- URL: https://github.com/devlooped/dotnet-evergreen
- Owner: devlooped
- License: mit
- Created: 2021-07-10T03:37:49.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T00:15:15.000Z (about 2 years ago)
- Last Synced: 2024-05-01T09:37:15.866Z (about 2 years ago)
- Language: C#
- Homepage:
- Size: 118 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
 dotnet-evergreen
============
[](https://www.nuget.org/packages/dotnet-evergreen) [](https://www.nuget.org/packages/dotnet-evergreen) [](https://github.com/devlooped/dotnet-evergreen/blob/main/license.txt) [](https://github.com/devlooped/dotnet-evergreen/actions)
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] [ [...]]
Arguments:
Package Id of tool to run.
Additional arguments and options supported by the tool
Options:
-s, --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 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](https://www.nuget.org/packages/dotnet-eventgrid) > `eventgrid`).
* Supports [dotnetconfig](https://dotnetconfig.org) 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
[](https://github.com/clarius)
[](https://github.com/MFB-Technologies-Inc)
[](https://github.com/torutek-gh)
[](https://github.com/drivenet)
[](https://github.com/Keflon)
[](https://github.com/tbolon)
[](https://github.com/kfrancis)
[](https://github.com/twenzel)
[](https://github.com/unoplatform)
[](https://github.com/dansiegel)
[](https://github.com/rbnswartz)
[](https://github.com/jfoshee)
[](https://github.com/Mrxx99)
[](https://github.com/eajhnsn1)
[](https://github.com/IxTechnologies)
[](https://github.com/davidjenni)
[](https://github.com/Jonathan-Hickey)
[](https://github.com/akunzai)
[](https://github.com/jakobt)
[](https://github.com/tinohager)
[](https://github.com/KenBonny)
[](https://github.com/SimonCropp)
[](https://github.com/agileworks-eu)
[](https://github.com/sorahex)
[](https://github.com/arsdragonfly)
[](https://github.com/vezel-dev)
[](https://github.com/ChilliCream)
[](https://github.com/4OTC)
[](https://github.com/v-limo)
[](https://github.com/jordansjones)
[](https://github.com/DominicSchell)
[](https://github.com/jkingry)
[](https://github.com/sponsors/devlooped)
[Learn more about GitHub Sponsors](https://github.com/sponsors)