1

我有一个包含 manifest.json 的 Google Chrome 扩展程序。最近我开始使用 gitversion,我喜欢它。有没有一种方法可以在 gitversion 中更改时巧妙地增加 manifest.json 中的版本?

4

1 回答 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 回答