2016-07-11 6 views
1

Ich habe eine Google Chrome-Erweiterung, die eine manifest.json hat. Vor kurzem habe ich begonnen, Gitversion zu verwenden, und ich mag es. Gibt es eine Möglichkeit, die Version in meiner manifest.json intelligent zu erhöhen, wenn sich die Version in gitversion ändert?update manifest.json version mit gitversion auf commit

+0

ich über diese kam Kopierte Frage, die nach einer programmatischen Weise sucht, um meine Google Chrome Verlängerungsmanifestdatei zu aktualisieren. Ich hatte noch nie von gitversion gehört und bin gespannt, warum semvar so verwendet wird, als ob semvar nur für Paketbetreuer benötigt wird und nicht unbedingt für finale Erweiterung/App-Projekte. Was bietet dir gitversion? –

+0

Ich habe eine Menge anderer Tools und Pakete im selben Repo, die es in CI verwenden. – tofutim

Antwort

2

In GitVersion gibt es nichts, was das heute für Sie tun wird. Die einzigen Dateien, die automatisch aktualisiert werden, sind AssemblyInfo-Dateien. Es gibt nichts, was Sie daran hindert, GitVersion auszuführen, die resultierende JSON-Ausgabe zu erfassen und dann die behaupteten Variablen zu verwenden, um die .json-Datei auf andere Weise zu aktualisieren. Zum Beispiel, wenn Sie ein Build-Skript haben, könnten Sie genau das tun.

Werfen Sie einen Blick auf diesen Blog-Post für ein Beispiel, wie Sie dies in Powershell tun können:

http://jake.ginnivan.net/blog/2014/05/25/simple-versioning-and-release-notes/

hier mit Zustimmung des @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']" 
Verwandte Themen