我有一个Google Chrome扩展程序,其中包含manifest.json。最近我开始使用gitversion,我喜欢它。有没有一种方法可以在我的manifest.json中巧妙地增加版本,只要它在gitversion中发生变化?
答案 0 :(得分: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']"