This user guide, like Cake.DotNetTool.Module itself, is under very active development. Some parts of it aren't
+documented as completely as they need to be, but we gladly accept your contributions.
+
+
We need your help to improve the documentation for Cake.DotNetTool.Module, so if there is something that you
+would like to add then you can edit the content directly on GitHub.
+
+@foreach(IDocument child in Model.DocumentList(Keys.Children).OrderBy(x => x.Get(DocsKeys.Order, 1000)))
+{
+
+ }
+
+ @Html.Partial("_ChildPages", child)
+}
diff --git a/docs/input/docs/installation/Setup.md b/docs/input/docs/installation/Setup.md
new file mode 100644
index 0000000..39dc9cb
--- /dev/null
+++ b/docs/input/docs/installation/Setup.md
@@ -0,0 +1,15 @@
+Due to the fact that Cake Modules are extending and altering the internals of the Cake, the Module Assembly needs to be loaded prior to the main Cake execution. As documented in the Module section of this page, you simply have to do the following:
+
+```
+./build.sh --bootstrap
+./build.sh
+```
+
+This means that the first execution of Cake will inspect your Cake script for any module inclusions in your script, and if there are any, download and install them. And the second execution will then be able to use those modules, and complete the usage of the module.
+
+An example of a Cake script which both includes the module definition for the DotNet Tool Module, and which also uses it, is shown below:
+
+```
+#module nuget:?package=Cake.DotNetTool.Module&version=0.1.0
+#tool "dotnet:?package=Octopus.DotNet.Cli&version=4.41.0"
+```
diff --git a/docs/input/docs/installation/index.cshtml b/docs/input/docs/installation/index.cshtml
new file mode 100644
index 0000000..3afb475
--- /dev/null
+++ b/docs/input/docs/installation/index.cshtml
@@ -0,0 +1,7 @@
+---
+Order: 2
+Description: How to obtain Cake.DotNetTool.Module.
+---
+
@Html.Raw(Model.String(DocsKeys.Description))
+
+@Html.Partial("_ChildPages")
diff --git a/docs/input/docs/usage/examples.md b/docs/input/docs/usage/examples.md
new file mode 100644
index 0000000..fb445cc
--- /dev/null
+++ b/docs/input/docs/usage/examples.md
@@ -0,0 +1,11 @@
+Installing a tool using the DotNetTool Cake Module is as simple as:
+
+```
+#tool dotnet:?package=Octopus.DotNet.Cli&version=4.41.0
+```
+
+If the tool in question comes from a different source, you can change that as follows:
+
+```
+#tool dotnet:?package=Octopus.DotNet.Cli&version=4.41.0
+```
diff --git a/docs/input/docs/usage/index.cshtml b/docs/input/docs/usage/index.cshtml
new file mode 100644
index 0000000..fc709da
--- /dev/null
+++ b/docs/input/docs/usage/index.cshtml
@@ -0,0 +1,7 @@
+---
+Order: 2
+Description: How to configure, and execute Cake.DotNetTool.Module.
+---
+
@Html.Raw(Model.String(DocsKeys.Description))
+
+@Html.Partial("_ChildPages")
diff --git a/docs/input/docs/usage/parameters.md b/docs/input/docs/usage/parameters.md
new file mode 100644
index 0000000..692cea2
--- /dev/null
+++ b/docs/input/docs/usage/parameters.md
@@ -0,0 +1,69 @@
+The folllowing URI parameters are supported by the Cake.DotNetTool.Module.
+
+# Source
+
+This is not a named parameter, but it is permitted as per the URI definition. By default, the dotnet CLI will attempt to install applications from NuGet.org. If your package is actually hosted on another feed, for example, on a MyGet feed, the installation source can be overridden.
+
+## Example
+
+```
+#tool dotnet:https://www.myget.org/F/gep13/api/v2?package=Octopus.DotNet.Cli
+```
+
+# Package
+
+This is the name of the Global Tool that you would like to install.
+
+## Example
+
+```
+#tool dotnet:?package=Octopus.DotNet.Cli
+```
+
+# Version
+
+The specific version of the Global Tool that is being installed. If not provided, the dotnet CLI will install the latest package version that is available.
+
+## Example
+
+```
+#tool dotnet:?package=Octopus.DotNet.Cli&version=4.41.0
+```
+
+# Global
+
+By default, a tool will be installed to the configured Cake Tools folder. If you want to install the tool globally on your machine, you can pass the global parameter.
+
+## Example
+
+```
+#tool dotnet:?package=Octopus.DotNet.Cli&version=4.41.0&global
+```
+
+# Config File
+
+If you need to specify a NuGet config file, for example you need to authenticate to a particular feed, you can specify the location of this file using the configfile parameter.
+
+## Example
+
+```
+#tool dotnet:?package=Octopus.DotNet.Cli&version=4.41.0&configfile="../../NuGet.config"
+```
+
+# Framework
+
+Specifies the [target framework](https://docs.microsoft.com/en-us/dotnet/standard/frameworks) to install the tool for. By default, the .NET Core SDK tries to choose the most appropriate target framework.
+
+## Example
+
+```
+#tool dotnet:?package=Octopus.DotNet.Cli&version=4.41.0&framework="net472"
+```
+
+# Verbosity
+
+While not a named parameter, you can control the logging verbosity of the underlying dotnet tool command by altering the overall verbosity of the Cake Script execution. i.e. running:
+
+```
+./build.sh --verbosity=diagnostic
+```
diff --git a/docs/input/index.cshtml b/docs/input/index.cshtml
new file mode 100644
index 0000000..3429725
--- /dev/null
+++ b/docs/input/index.cshtml
@@ -0,0 +1,13 @@
+---
+Title: Cake.DotNetTool.Module
+NoSidebar: true
+NoContainer: false
+NoGutter: true
+---
+
+
+
What is it?
+
+ Cake.DotNetTool.Module is a Module for Cake, which extends it with a new IPackageInstaller for installing tools using the dotnet CLI.
+
We need your help to improve the documentation for Cake.DotNetTool.Module, so if there is something that you
-would like to add then you can edit the content directly on GitHub.
+would like to add then feel free to raise a Pull Request to the Repository.
@foreach(IDocument child in Model.DocumentList(Keys.Children).OrderBy(x => x.Get(DocsKeys.Order, 1000)))
{
From d997ec096c2da604f8edc89b8aad43673cdbda69 Mon Sep 17 00:00:00 2001
From: Gary Ewan Park
Date: Sun, 14 Oct 2018 20:35:50 +0100
Subject: [PATCH 05/10] (build) Reset changes made for testing
- Issue identified and corrected upstream in Cake.Recipe
---
recipe.cake | 2 +-
tools/packages.config | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/recipe.cake b/recipe.cake
index e18cd1f..1d39d3a 100644
--- a/recipe.cake
+++ b/recipe.cake
@@ -1,4 +1,4 @@
-#load nuget:https://www.myget.org/F/cake-contrib/api/v2?package=Cake.Recipe&version=0.3.0-unstable0398
+#load nuget:https://www.myget.org/F/cake-contrib/api/v2?package=Cake.Recipe&prerelease
Environment.SetVariableNames();
diff --git a/tools/packages.config b/tools/packages.config
index 227ecd9..0501888 100644
--- a/tools/packages.config
+++ b/tools/packages.config
@@ -1,4 +1,4 @@
-
+
From aad694f38ff7da08d34081609cdb905608ac8b0d Mon Sep 17 00:00:00 2001
From: Gary Ewan Park
Date: Sun, 14 Oct 2018 20:39:00 +0100
Subject: [PATCH 06/10] (doc) Minor change to docs
---
docs/input/index.cshtml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/input/index.cshtml b/docs/input/index.cshtml
index 3429725..e16c2bb 100644
--- a/docs/input/index.cshtml
+++ b/docs/input/index.cshtml
@@ -10,4 +10,7 @@ NoGutter: true
Cake.DotNetTool.Module is a Module for Cake, which extends it with a new IPackageInstaller for installing tools using the dotnet CLI.
+
+ You can find an introductory blog post about it here.
+
From 1bbd2aaf5cbe9d682c35ff98ae89832e712a9f60 Mon Sep 17 00:00:00 2001
From: Gary Ewan Park
Date: Sun, 14 Oct 2018 20:49:30 +0100
Subject: [PATCH 07/10] (doc) Added information to readme
---
README.md | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/README.md b/README.md
index 5d05d16..6342203 100644
--- a/README.md
+++ b/README.md
@@ -3,3 +3,46 @@
Cake.DotNetTool.Module is a Module for Cake, which extends it with a new IPackageInstaller for installing tools using the dotnet cli.
[![License](http://img.shields.io/:license-mit-blue.svg)](http://cake-contrib.mit-license.org)
+
+## Information
+
+| | Stable | Pre-release |
+|---|---|---|
+|GitHub Release|-|[![GitHub release](https://img.shields.io/github/release/cake-contrib/Cake.DotNetTool.Module.svg)](https://github.com/cake-contrib/Cake.DotNetTool.Module/releases/latest)|
+|NuGet|[![NuGet](https://img.shields.io/nuget/v/Cake.DotNetTool.Module.svg)](https://www.nuget.org/packages/Cake.DotNetTool.Module)|[![NuGet](https://img.shields.io/nuget/vpre/Cake.DotNetTool.Module.svg)](https://www.nuget.org/packages/Cake.Module)|
+
+## Build Status
+
+|Develop|Master|
+|:--:|:--:|
+|[![Build status](https://ci.appveyor.com/api/projects/status/5h3exd4u8p2k2wpn/branch/develop?svg=true)](https://ci.appveyor.com/project/cakecontrib/cake-dotnettool-module/branch/develop)|[![Build status](https://ci.appveyor.com/api/projects/status/5h3exd4u8p2k2wpn/branch/develop?svg=true)](https://ci.appveyor.com/project/cakecontrib/cake-dotnettool-module/branch/master)|
+
+## Code Coverage
+
+[![Coverage Status](https://coveralls.io/repos/github/cake-contrib/Cake.DotNetTool.Module/badge.svg?branch=develop)](https://coveralls.io/github/cake-contrib/Cake.DotNetTool.Module?branch=develop)
+
+## Quick Links
+
+- [Documentation](https://cake-contrib.github.io/Cake.DotNetTool.Module)
+
+## Chat Room
+
+Come join in the conversation about Cake.DotNetTool.Module in our Gitter Chat Room
+
+[![Join the chat at https://gitter.im/cake-contrib/Lobby](https://badges.gitter.im/cake-contrib/Lobby.svg)](https://gitter.im/cake-contrib/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+## Build
+
+To build this package we are using Cake.
+
+On Windows PowerShell run:
+
+```powershell
+.\build.ps1
+```
+
+On Linux/Mac run:
+
+```shell
+./build.sh
+```
From 4ba71cc847b71cc723dc96668c668c55ee2adbc8 Mon Sep 17 00:00:00 2001
From: Sean Fausett
Date: Mon, 8 Apr 2019 12:46:02 +1200
Subject: [PATCH 08/10] Bump Cake to 0.33.0
---
.../Cake.DotNetTool.Module.Tests.csproj | 8 ++------
.../Cake.DotNetTool.Module/Cake.DotNetTool.Module.csproj | 2 +-
tools/packages.config | 2 +-
3 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/Source/Cake.DotNetTool.Module.Tests/Cake.DotNetTool.Module.Tests.csproj b/Source/Cake.DotNetTool.Module.Tests/Cake.DotNetTool.Module.Tests.csproj
index b7a6b0f..2144551 100644
--- a/Source/Cake.DotNetTool.Module.Tests/Cake.DotNetTool.Module.Tests.csproj
+++ b/Source/Cake.DotNetTool.Module.Tests/Cake.DotNetTool.Module.Tests.csproj
@@ -5,12 +5,8 @@
-
- all
-
-
- all
-
+
+
diff --git a/Source/Cake.DotNetTool.Module/Cake.DotNetTool.Module.csproj b/Source/Cake.DotNetTool.Module/Cake.DotNetTool.Module.csproj
index 4393bd1..f4cedc3 100644
--- a/Source/Cake.DotNetTool.Module/Cake.DotNetTool.Module.csproj
+++ b/Source/Cake.DotNetTool.Module/Cake.DotNetTool.Module.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/tools/packages.config b/tools/packages.config
index 0501888..f27ab48 100644
--- a/tools/packages.config
+++ b/tools/packages.config
@@ -1,4 +1,4 @@
-
+
From c1c9433d7918014d50052ed2cd9bf67f7136851f Mon Sep 17 00:00:00 2001
From: Sean Fausett
Date: Mon, 8 Apr 2019 12:47:56 +1200
Subject: [PATCH 09/10] Bump test dependencies
---
.../Cake.DotNetTool.Module.Tests.csproj | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Source/Cake.DotNetTool.Module.Tests/Cake.DotNetTool.Module.Tests.csproj b/Source/Cake.DotNetTool.Module.Tests/Cake.DotNetTool.Module.Tests.csproj
index 2144551..3cd243f 100644
--- a/Source/Cake.DotNetTool.Module.Tests/Cake.DotNetTool.Module.Tests.csproj
+++ b/Source/Cake.DotNetTool.Module.Tests/Cake.DotNetTool.Module.Tests.csproj
@@ -7,10 +7,10 @@
-
-
-
-
+
+
+
+
From 0570ca258f2cdf78a16b4ec4c6aea4c50f07d499 Mon Sep 17 00:00:00 2001
From: Sean Fausett
Date: Mon, 8 Apr 2019 12:51:59 +1200
Subject: [PATCH 10/10] Add fact attribute
---
.../DotNetToolPackageInstallerTests.cs | 1 +
1 file changed, 1 insertion(+)
diff --git a/Source/Cake.DotNetTool.Module.Tests/DotNetToolPackageInstallerTests.cs b/Source/Cake.DotNetTool.Module.Tests/DotNetToolPackageInstallerTests.cs
index f486565..de0d92b 100644
--- a/Source/Cake.DotNetTool.Module.Tests/DotNetToolPackageInstallerTests.cs
+++ b/Source/Cake.DotNetTool.Module.Tests/DotNetToolPackageInstallerTests.cs
@@ -78,6 +78,7 @@ public void Should_Throw_If_Log_Is_Null()
public sealed class TheCanInstallMethod
{
+ [Fact]
public void Should_Throw_If_URI_Is_Null()
{
// Given