我有一个包含 manifest.json 的 Google Chrome 扩展程序。最近我开始使用 gitversion,我喜欢它。有没有一种方法可以在 gitversion 中更改时巧妙地增加 manifest.json 中的版本?
问问题
587 次
1 回答
2
今天在 GitVersion 中没有任何开箱即用的功能可以为您做到这一点。唯一会自动更新的文件是 AssemblyInfo 文件。没有什么可以阻止您运行 GitVersion,获取生成的 JSON 输出,然后使用断言的变量通过另一种方式更新 .json 文件。例如,如果你有一个构建脚本,你可以这样做。
查看这篇博文,了解如何在 PowerShell 中执行此操作的示例:
http://jake.ginnivan.net/blog/2014/05/25/simple-versioning-and-release-notes/
经@jakeginnivan 同意复制到这里
$currentDir = Split-Path -Parent -Path $MyInvocation.MyCommand.Definition
$output = . "$currentDir\GitVersion.1.0.0.0\tools\GitVersion.exe"
$joined = $output -join "`n"
$versionInfo = $joined | ConvertFrom-Json
$version = $versionInfo.SemVer
mkdir "$currentDir\Artifacts"
Copy-Item "$currentDir\src\UsefulStuff.psm1" "$currentDir\Artifacts\UsefulStuff.psm1"
(Get-Content "$currentDir\Artifacts\UsefulStuff.psm1") |
Foreach-Object {$_ -replace '__version__',"v$version"} |
Out-File "$currentDir\Artifacts\UsefulStuff.psm1"
Write-Output "##teamcity[buildNumber '$version']"
于 2016-07-22T14:04:45.213 回答