在提交

时间:2016-07-11 06:38:56

标签: json google-chrome gitversion

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

1 个答案:

答案 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']"