dotnet-drama 1.0.0
dotnet tool install --global dotnet-drama --version 1.0.0
此软件包包含一个可以从 shell/命令行调用的 .NET 工具。
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local dotnet-drama --version 1.0.0
此软件包包含一个可以从 shell/命令行调用的 .NET 工具。
#tool dotnet:?package=dotnet-drama&version=1.0.0
NuGet 团队不提供对此客户端的支持。请联系其 维护人员 以获得支持。
nuke :add-package dotnet-drama --version 1.0.0
NuGet 团队不提供对此客户端的支持。请联系其 维护人员 以获得支持。
dotnet-drama
这是什么?
该工具报告自 .NET 社区有争议以来已过去了多少天。
为什么?
因为有争议的地方就有喜剧。
如何
- 安装
dotnet tool install -g dotnet-drama - 然后运行
dotnet-drama
构建
| GitHub Actions |
|---|
NuGet
| 软件包 | 稳定版 | 预发布版 |
|---|---|---|
| dotnet-drama |
开发中
确保您的系统上已安装以下 要求
- dotnet SDK 3.0 或更高版本
- Mono 如果使用 Linux 或 macOS。
或
环境变量
CONFIGURATION将设置 dotnet 命令的 配置。如果未设置,则默认为 Release。CONFIGURATION=Debug ./build.sh的结果将在类似dotnet build -c Debug的命令中添加-c附加项
GITHUB_TOKEN将用于上传发布说明和 Nuget 软件包到 GitHub。- 确保在发布前设置此变量
DISABLE_COVERAGE将禁用运行代码覆盖率指标。AltCover 可能会导致 严重的性能下降,所以在希望快速反馈循环时可以考虑禁用。DISABLE_COVERAGE=1 ./build.sh
构建
> build.cmd <optional buildtarget> // on windows
$ ./build.sh <optional buildtarget>// on unix
您的库的 bin 目录应类似于
$ tree src/MyCoolNewLib/bin/
src/MyCoolNewLib/bin/
└── Debug
└── net50
├── MyCoolNewLib.deps.json
├── MyCoolNewLib.dll
├── MyCoolNewLib.pdb
└── MyCoolNewLib.xml
构建目标
清洁- 清理工件和临时目录。DotnetRestore- 在 解决方案文件 上运行 dotnet restore。DotnetBuild- 在 解决方案文件 上运行 dotnet build。DotnetTest- 在解决方案文件上运行dotnet test。GenerateCoverageReport- 在DotnetTest期间运行代码覆盖率并生成ReportGenerator报告。WatchTests- 使用测试项目运行dotnet watch,可用于快速反馈循环。GenerateAssemblyInfo- 为库生成AssemblyInfo。DotnetPack- 运行dotnet pack,包括运行Source Link。SourceLinkTest- 运行源链测试工具以验证源链接是否正确生成。PublishToNuGet- 通过paket push将DotnetPack生成的NuGet包发布到NuGet。GitRelease- 使用发布说明和git标签创建提交信息,标签通过发布说明中的版本生成。GitHubRelease- 发布带有发布说明和任何NuGet包的GitHub 发布。FormatCode- 在解决方案文件上运行Fantomas。BuildDocs- 从docsSrc和库中的XML文档注释生成文档。WatchDocs- 生成文档并启动本地web服务器。如果检测到对docsSrc文件、src中的库或docsTool本身的任何更改,则将重建和热重载。ReleaseDocs- 将在BuildDocs目标中生成的文档发布的版本进行预发布、提交和推送。Release- 运行所有发布类型任务(如PublishToNuGet、GitRelease、ReleaseDocs和GitHubRelease)的任务。请确保正确设置您的发布环境以运行发布。
发布
git add .
git commit -m "Scaffold"
git remote add origin https://github.com/user/MyCoolNewLib.git
git push -u origin master
-
paket config add-token "https://nuget.net.cn" 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a- 或将环境变量
NUGET_TOKEN设置为你的密钥
- 或将环境变量
-
- 然后设置环境变量
GITHUB_TOKEN来上传发布说明和存档到github - 否则它将回退到用户名/密码
- 然后设置环境变量
然后更新
CHANGELOG.md,其中包含该版本的发布说明,格式为KeepAChangelog。
注意:强烈推荐在受影响的发布说明旁边添加一个指向拉取请求的链接。原因在于当运行 RELEASE 目标时,它将这些新说明添加到git提交的消息体中。GitHub会注意到这些链接,并将拉取请求更新为引用了它的提交,例如:"添加了一个引用此拉取请求的提交"。由于构建脚本自动化提交消息,它会说“将版本提升到x.y.z”。这种做法的好处是,当用户访问拉取请求时,可以清楚地看到哪些代码更改和哪个版本一起发布。另外,当阅读 CHANGELOG 时,如果有人对为何要做出这些更改感到好奇,他们可以轻松地发现工作和讨论。
以下是如何在已发布 0.1.0 版本的 CHANGELOG.md 中添加一个“未发布”部分的示例。
## [Unreleased]
### Added
- Does cool stuff!
### Fixed
- Fixes that silly oversight
## [0.1.0] - 2017-03-17
First release
### Added
- This release already has lots of features
[Unreleased]: https://github.com/user/MyCoolNewLib.git/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/user/MyCoolNewLib.git/releases/tag/v0.1.0
- 然后,你可以使用
Release目标,指定版本号,可以通过RELEASE_VERSION环境变量,或者作为目标名称后面的参数。- 这会更新
CHANGELOG.md,将更改从未发布部分移动到一个新的0.2.0部分。- 如果change log中有0.2.0的任何预发布版本,它也会将这些更改收集到最终的0.2.0条目中。
- 创建一个提交以提升版本:
将版本升级到0.2.0并将新的变更日志部分添加到提交的消息体中。 - 将软件包发布到NuGet。
- 推送一个git标签。
- 为该git标签创建一个GitHub发行版。
- 这会更新
macOS/Linux 参数
./build.sh Release 0.2.0
macOS/Linux 环境变量
RELEASE_VERSION=0.2.0 ./build.sh Release
| 产品 | 版本 兼容的和额外计算的target框架版本。 |
|---|---|
| .NET | net5.0 兼容。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
此包没有依赖项。
## [1.0.0] - 2021-10-23
[1.0.0]: https://github.com/TheAngryByrd/dotnet-drama/compare/v0.1.1...v1.0.0
### 更改
- 命令名称更改为 `dotnet-drama`