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                
nuke :add-package dotnet-drama --version 1.0.0                

dotnet-drama

这是什么?

该工具报告自 .NET 社区有争议以来已过去了多少天。

为什么?

因为有争议的地方就有喜剧。

如何

  1. 安装 dotnet tool install -g dotnet-drama
  2. 然后运行 dotnet-drama

构建

GitHub Actions
GitHub Actions
Build History

NuGet

软件包 稳定版 预发布版
dotnet-drama NuGet Badge NuGet Badge

开发中

确保您的系统上已安装以下 要求


环境变量

  • 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 pushDotnetPack生成的NuGet包发布到NuGet。
  • GitRelease - 使用发布说明和git标签创建提交信息,标签通过发布说明中的版本生成。
  • GitHubRelease - 发布带有发布说明和任何NuGet包的GitHub 发布
  • FormatCode - 在解决方案文件上运行Fantomas
  • BuildDocs - 从docsSrc和库中的XML文档注释生成文档。
  • WatchDocs - 生成文档并启动本地web服务器。如果检测到对docsSrc文件、src中的库或docsTool本身的任何更改,则将重建和热重载。
  • ReleaseDocs - 将在BuildDocs目标中生成的文档发布的版本进行预发布、提交和推送。
  • Release - 运行所有发布类型任务(如PublishToNuGetGitReleaseReleaseDocsGitHubRelease)的任务。请确保正确设置您的发布环境以运行发布

发布

git add .
git commit -m "Scaffold"
git remote add origin https://github.com/user/MyCoolNewLib.git
git push -u origin master

注意:强烈推荐在受影响的发布说明旁边添加一个指向拉取请求的链接。原因在于当运行 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 已计算。
兼容的目标框架
包括的目标框架(在包中)
了解有关目标框架.NET Standard的更多信息。

此包没有依赖项。

版本 下载 最后更新
1.0.0 405 10/23/2021
0.1.1 294 10/23/2021

## [1.0.0] - 2021-10-23

[1.0.0]: https://github.com/TheAngryByrd/dotnet-drama/compare/v0.1.1...v1.0.0

### 更改
- 命令名称更改为 `dotnet-drama`