Обновить версию manifest.json, используя gitversion при коммите

У меня есть расширение Google Chrome, которое имеет manifest.json. Недавно я начал использовать gitversion, и мне это нравится. Есть ли способ, которым я могу умело увеличивать версию в моем manifest.json всякий раз, когда она изменяется в gitversion?

1 ответ

В 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']"
Другие вопросы по тегам