summaryrefslogtreecommitdiff
path: root/ofborg/ofborg-viewer/bin/bump-version
diff options
context:
space:
mode:
Diffstat (limited to 'ofborg/ofborg-viewer/bin/bump-version')
-rwxr-xr-xofborg/ofborg-viewer/bin/bump-version38
1 files changed, 38 insertions, 0 deletions
diff --git a/ofborg/ofborg-viewer/bin/bump-version b/ofborg/ofborg-viewer/bin/bump-version
new file mode 100755
index 0000000000..3ac6cefc04
--- /dev/null
+++ b/ofborg/ofborg-viewer/bin/bump-version
@@ -0,0 +1,38 @@
+#!/usr/bin/env nix-shell
+#!ruby
+#!nix-shell -p gitMinimal -p ruby -i ruby
+
+require "json"
+
+VERSION_MATCHER = /\A\d+\.\d+\.\d+\z/;
+NPM_FORMAT = {
+ indent: " ",
+ space: " ",
+ object_nl: "\n",
+ array_nl: "\n",
+}
+
+$version = ARGV.first
+
+unless $version
+ STDERR.puts "Needs a new version number.\n"
+ exit 1
+end
+
+unless $version.match(VERSION_MATCHER)
+ STDERR.puts "Argument is not a valid version number.\n"
+ exit 1
+end
+
+Dir.chdir(File.expand_path(File.join(__dir__(), ".."))) do
+ data = JSON.parse(File.read("package.json"))
+ data["version"] = $version
+ File.write("package.json", JSON.generate(data, NPM_FORMAT) + "\n")
+ `git add package.json`
+ `git commit -m "Bumps to v#{$version}" package.json`
+ `git tag v#{$version}`
+end
+
+puts "Don't forget to `git push && git push --tags`";
+
+# vim: ft=ruby