Put something useful in README.
This commit is contained in:
parent
7894853f73
commit
89f4dc8438
1 changed files with 32 additions and 1 deletions
33
README.md
33
README.md
|
@ -1,2 +1,33 @@
|
||||||
# Cake.ArgumentHelpers
|
# Cake.ArgumentHelpers
|
||||||
Cake aliases to help with consuming arguments and environment variables.
|
|
||||||
|
[Cake](http://cakebuild.net/) aliases (methods) to help with consuming arguments and environment variables.
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
Just reference the Cake.ArgumentHelpers NuGet package directly in your build script via a Cake addin directive.
|
||||||
|
|
||||||
|
> `#addin nuget:?package=Cake.ArgumentHelpers`
|
||||||
|
|
||||||
|
## Available Aliases
|
||||||
|
|
||||||
|
Yep, just one so far...
|
||||||
|
|
||||||
|
### `bool ArgumentOrEnvironmentVariable(..., string name, string environmentNamePrefix, bool defaultValue)`
|
||||||
|
|
||||||
|
Since `EnvironmentVariable` always returns a string, it is more complex to involve it in an `Argument` call with a fallback. This alias makes it a single call, hiding away the string comparison done to massage the result to a `bool` value.
|
||||||
|
|
||||||
|
It works by getting a boolean value with multiple fallbacks:
|
||||||
|
|
||||||
|
1. Try to get it from `Argument` (e.g., command line: `-SomeSetting="true"`)
|
||||||
|
2. Try to get it from `EnvironmentVariable` (e.g., `$env:SomeProject_SomeSetting = $True;`)
|
||||||
|
3. Use a `defaultValue` if we don't find it elsewhere
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
|
||||||
|
Given a potential command line argument of `SomeSetting` that could also be set via an environment variable prefixed with a project name, get the boolean value or `false` if it isn't found:
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
var isSomethingTrue = ArgumentOrEnvironmentVariable("SomeSetting", "SomeProject_", false);
|
||||||
|
```
|
||||||
|
|
||||||
|
##
|
Loading…
Add table
Reference in a new issue