Ich versuche, ein Shell-Skript zu schreiben, um eine Build-Nummer einer in einer JSON-Datei gespeicherten Version zu erhöhen.Update-Versionsnummer in JSON-Datei gespeichert
{
/**
* The application's namespace.
*/
"name": "AppName",
/**
* The version of the application.
*/
"version": "1.0.0.23",
/**
* More comments.....
*/
....
}
Ich habe getestet bereits eine einfache Möglichkeit, die Anzahl, wenn die Variable war bereits in der Datei zu erhöhen:
version='1.0.0.23'
a=(${version//./ }) # replace points, split into array
((a[3]++)) # increment revision (or other part)
version="${a[0]}.${a[1]}.${a[2]}.${a[3]}" # compose new version
echo $version # outputs: 1.0.0.24
Ich habe sah jq und jshon aber weder wird analysieren, um die JSON-Datei weil es Kommentare enthält (die app.json Datei wird automatisch von Sencha Cmd generiert)
Wie kann ich die Versionseigenschaft mit etwas wie awk/sed lesen und aktualisieren? Wäre Jsawk besser?
aktualisieren Ich habe es geschafft, die Versionsnummer mit diesem zu extrahieren: version=$(sed -n 's/.*"version": "\(.*\)",/\1/p' app2.json)
so jetzt kann ich die Version lesen und es zu erhöhen. Ich muss es jetzt einfach zurückschreiben.
Gibt es keine Möglichkeit, die Kommentare wegzulassen? Ich kann nicht glauben, dass ein Tool '* .json'-Dateien erzeugt, die kein gültiger json sind. – hek2mgl
scheint der Sencha-Standard zu sein: https://docs.sencha.com/cmd/6.x/microloader.html –
Hmm, ich habe keine Ahnung von Sencha. Ich habe das Tag sencha hinzugefügt. Es ist wahrscheinlicher, dass Sie jemanden finden, der es dann weiß. – hek2mgl