You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make sure the following **requirements** are installed on your system:
62
62
63
-
- [dotnet SDK](https://www.microsoft.com/net/download/core) 5.0 or higher
63
+
* [dotnet SDK](https://www.microsoft.com/net/download/core) 5.0 or higher
64
64
65
65
or
66
66
67
-
- [VSCode Dev Container](https://code.visualstudio.com/docs/remote/containers)
67
+
* [VSCode Dev Container](https://code.visualstudio.com/docs/remote/containers)
68
68
69
69
---
70
70
71
71
### Environment Variables
72
72
73
-
- `CONFIGURATION` will set the [configuration](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-build?tabs=netcore2x#options) of the dotnet commands. If not set, it will default to Release.
74
-
- `CONFIGURATION=Debug ./build.sh` will result in `-c` additions to commands such as in `dotnet build -c Debug`
75
-
- `GITHUB_TOKEN` will be used to upload release notes and Nuget packages to GitHub.
76
-
- Be sure to set this before releasing
77
-
- `DISABLE_COVERAGE` Will disable running code coverage metrics. AltCover can have [severe performance degradation](https://github.com/SteveGilham/altcover/issues/57) so it's worth disabling when looking to do a quicker feedback loop.
78
-
- `DISABLE_COVERAGE=1 ./build.sh`
79
-
73
+
* `CONFIGURATION` will set the [configuration](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-build?tabs=netcore2x#options) of the dotnet commands. If not set, it will default to Release.
74
+
* `CONFIGURATION=Debug ./build.sh` will result in `-c` additions to commands such as in `dotnet build -c Debug`
75
+
* `GITHUB_TOKEN` will be used to upload release notes and Nuget packages to GitHub.
76
+
* Be sure to set this before releasing
77
+
* `DISABLE_COVERAGE` Will disable running code coverage metrics. AltCover can have [severe performance degradation](https://github.com/SteveGilham/altcover/issues/57) so it's worth disabling when looking to do a quicker feedback loop.
78
+
* `DISABLE_COVERAGE=1 ./build.sh`
80
79
81
80
---
82
81
83
82
### Building
84
83
85
-
86
84
```sh
87
85
> build.cmd <optional buildtarget> // on windows
88
86
$ ./build.sh <optional buildtarget>// on unix
89
87
```
90
88
91
89
The bin of your library should look similar to:
92
90
93
-
```
91
+
```bash
94
92
$ tree src/MyCoolNewLib/bin/
95
93
src/MyCoolNewLib/bin/
96
94
└── Debug
@@ -106,29 +104,29 @@ src/MyCoolNewLib/bin/
106
104
107
105
### Build Targets
108
106
109
-
-`Clean` - Cleans artifact and temp directories.
110
-
-`DotnetRestore` - Runs [dotnet restore](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-restore?tabs=netcore2x) on the [solution file](https://docs.microsoft.com/en-us/visualstudio/extensibility/internals/solution-dot-sln-file?view=vs-2019).
111
-
-[`DotnetBuild`](#Building) - Runs [dotnet build](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-build?tabs=netcore2x) on the [solution file](https://docs.microsoft.com/en-us/visualstudio/extensibility/internals/solution-dot-sln-file?view=vs-2019).
112
-
-`DotnetTest` - Runs [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test?tabs=netcore21) on the [solution file](https://docs.microsoft.com/en-us/visualstudio/extensibility/internals/solution-dot-sln-file?view=vs-2019).
113
-
-`GenerateCoverageReport` - Code coverage is run during `DotnetTest` and this generates a report via [ReportGenerator](https://github.com/danielpalme/ReportGenerator).
114
-
-`WatchTests` - Runs [dotnet watch](https://docs.microsoft.com/en-us/aspnet/core/tutorials/dotnet-watch?view=aspnetcore-3.0) with the test projects. Useful for rapid feedback loops.
115
-
-`GenerateAssemblyInfo` - Generates [AssemblyInfo](https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.applicationservices.assemblyinfo?view=netframework-4.8) for libraries.
116
-
-`DotnetPack` - Runs [dotnet pack](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-pack). This includes running [Source Link](https://github.com/dotnet/sourcelink).
117
-
-`SourceLinkTest` - Runs a Source Link test tool to verify Source Links were properly generated.
118
-
-`PublishToNuGet` - Publishes the NuGet packages generated in `DotnetPack` to NuGet via [paket push](https://fsprojects.github.io/Paket/paket-push.html).
119
-
-`GitRelease` - Creates a commit message with the [Release Notes](https://fake.build/apidocs/v5/fake-core-releasenotes.html) and a git tag via the version in the `Release Notes`.
120
-
-`GitHubRelease` - Publishes a [GitHub Release](https://help.github.com/en/articles/creating-releases) with the Release Notes and any NuGet packages.
121
-
-`FormatCode` - Runs [Fantomas](https://github.com/fsprojects/fantomas) on the solution file.
122
-
-`BuildDocs` - Generates Documentation from `docsSrc` and the [XML Documentation Comments](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/) from your libraries in `src`.
123
-
-`WatchDocs` - Generates documentation and starts a webserver locally. It will rebuild and hot reload if it detects any changes made to `docsSrc` files, libraries in `src`, or the `docsTool` itself.
124
-
-`ReleaseDocs` - Will stage, commit, and push docs generated in the `BuildDocs` target.
125
-
-[`Release`](#Releasing) - Task that runs all release type tasks such as `PublishToNuGet`, `GitRelease`, `ReleaseDocs`, and `GitHubRelease`. Make sure to read [Releasing](#Releasing) to setup your environment correctly for releases.
126
-
---
107
+
*`Clean` - Cleans artifact and temp directories.
108
+
*`DotnetRestore` - Runs [dotnet restore](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-restore?tabs=netcore2x) on the [solution file](https://docs.microsoft.com/en-us/visualstudio/extensibility/internals/solution-dot-sln-file?view=vs-2019).
109
+
*[`DotnetBuild`](#Building) - Runs [dotnet build](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-build?tabs=netcore2x) on the [solution file](https://docs.microsoft.com/en-us/visualstudio/extensibility/internals/solution-dot-sln-file?view=vs-2019).
110
+
*`DotnetTest` - Runs [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test?tabs=netcore21) on the [solution file](https://docs.microsoft.com/en-us/visualstudio/extensibility/internals/solution-dot-sln-file?view=vs-2019).
111
+
*`GenerateCoverageReport` - Code coverage is run during `DotnetTest` and this generates a report via [ReportGenerator](https://github.com/danielpalme/ReportGenerator).
112
+
*`WatchTests` - Runs [dotnet watch](https://docs.microsoft.com/en-us/aspnet/core/tutorials/dotnet-watch?view=aspnetcore-3.0) with the test projects. Useful for rapid feedback loops.
113
+
*`GenerateAssemblyInfo` - Generates [AssemblyInfo](https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.applicationservices.assemblyinfo?view=netframework-4.8) for libraries.
114
+
*`DotnetPack` - Runs [dotnet pack](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-pack). This includes running [Source Link](https://github.com/dotnet/sourcelink).
115
+
*`SourceLinkTest` - Runs a Source Link test tool to verify Source Links were properly generated.
116
+
*`PublishToNuGet` - Publishes the NuGet packages generated in `DotnetPack` to NuGet via [paket push](https://fsprojects.github.io/Paket/paket-push.html).
117
+
*`GitRelease` - Creates a commit message with the [Release Notes](https://fake.build/apidocs/v5/fake-core-releasenotes.html) and a git tag via the version in the `Release Notes`.
118
+
*`GitHubRelease` - Publishes a [GitHub Release](https://help.github.com/en/articles/creating-releases) with the Release Notes and any NuGet packages.
119
+
*`FormatCode` - Runs [Fantomas](https://github.com/fsprojects/fantomas) on the solution file.
120
+
*`BuildDocs` - Generates Documentation from `docsSrc` and the [XML Documentation Comments](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/) from your libraries in `src`.
121
+
*`WatchDocs` - Generates documentation and starts a webserver locally. It will rebuild and hot reload if it detects any changes made to `docsSrc` files, libraries in `src`, or the `docsTool` itself.
122
+
*`ReleaseDocs` - Will stage, commit, and push docs generated in the `BuildDocs` target.
123
+
*[`Release`](#Releasing) - Task that runs all release type tasks such as `PublishToNuGet`, `GitRelease`, `ReleaseDocs`, and `GitHubRelease`. Make sure to read [Releasing](#Releasing) to setup your environment correctly for releases.
127
124
125
+
---
128
126
129
127
### Releasing
130
128
131
-
-[Start a git repo with a remote](https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/)
129
+
*[Start a git repo with a remote](https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/)
- or set the environment variable `NUGET_TOKEN` to your key
148
-
145
+
* or set the environment variable `NUGET_TOKEN` to your key
149
146
150
-
- [Create a GitHub OAuth Token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)
151
-
- You can thenset the environment variable `GITHUB_TOKEN` to upload release notes and artifacts to github
152
-
- Otherwise it will fallback to username/password
147
+
* [Create a GitHub OAuth Token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)
148
+
* You can thenset the environment variable `GITHUB_TOKEN` to upload release notes and artifacts to github
149
+
* Otherwise it will fallback to username/password
153
150
154
-
- Then update the `CHANGELOG.md` with an "Unreleased" section containing release notes forthis version,in [KeepAChangelog](https://keepachangelog.com/en/1.1.0/) format.
151
+
* Then update the `CHANGELOG.md` with an "Unreleased" section containing release notes forthis version,in [KeepAChangelog](https://keepachangelog.com/en/1.1.0/) format.
155
152
156
153
NOTE: Its highly recommend to add a link to the Pull Request next to the release note that it affects. The reason for this is when the `RELEASE` target is run, it will add these new notes into the body of git commit. GitHub will notice the links and will update the Pull Request with what commit referenced it saying ["added a commit that referenced this pull request"](https://github.com/TheAngryByrd/MiniScaffold/pull/179#ref-commit-837ad59). Since the build script automates the commit message, it will say "Bump Version to x.y.z". The benefit of this is when users goto a Pull Request, it will be clear when and which version those code changes released. Also when reading the `CHANGELOG`, if someone is curious about how or why those changes were made, they can easily discover the work and discussions.
0 commit comments