]> granicus.if.org Git - jq/commitdiff
Version number tracking. jq-1.0 jq-1.1
authorStephen Dolan <mu@netsoc.tcd.ie>
Sun, 21 Oct 2012 22:26:31 +0000 (23:26 +0100)
committerStephen Dolan <mu@netsoc.tcd.ie>
Sun, 21 Oct 2012 22:26:31 +0000 (23:26 +0100)
Makefile
VERSION [new file with mode: 0644]
docs/content/3.manual/manual.yml
main.c

index ac55fd4a472f1c43ccb361e64b0368d472eedd79..a9a53e0246711b7d0aff0331076eb80d6a114e02 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 CC=gcc -Wextra -Wall -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu99 -ggdb -Wno-unused-function
 prefix=/usr/local
 
-.PHONY: all clean releasedep tarball
+.PHONY: all clean releasedep tarball install uninstall test releasetag
 all: jq
 
 clean:
@@ -22,6 +22,10 @@ jv_utf8_tables.gen.h: gen_utf8_tables.py
        python $^ > $@
 jv_unicode.c: jv_utf8_tables.gen.h
 
+version.gen.h: VERSION
+       sed 's/.*/#define JQ_VERSION "&"/' $^ > $@
+main.c: version.gen.h
+
 JQ_SRC=parser.gen.c lexer.gen.c opcode.c bytecode.c compile.c execute.c builtin.c jv.c jv_parse.c jv_print.c jv_dtoa.c jv_unicode.c
 
 
@@ -31,13 +35,15 @@ jq_test: $(JQ_SRC) jq_test.c
 jq: $(JQ_SRC) main.c
        $(CC) -O -DJQ_DEBUG=0 -o $@ $^
 
-
 test: jq_test
        valgrind --error-exitcode=1 -q --leak-check=full ./jq_test >/dev/null
 
 
 releasedep: lexer.gen.c parser.gen.c jv_utf8_tables.gen.h
 
+releasetag:
+       git tag -s "jq-$$(cat VERSION)" -m "jq release $$(cat VERSION)"
+
 docs/content/2.download/source/jq.tgz: jq
        mkdir -p `dirname $@`
        tar -czvf $@ `git ls-files; ls *.gen.*`
diff --git a/VERSION b/VERSION
new file mode 100644 (file)
index 0000000..9459d4b
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+1.1
index d3d4c423aeb1511b2cd485b4d82f6fa07752c515..4ec88c28f10048c387ddf41d013ccaea399255d6 100644 (file)
@@ -555,7 +555,7 @@ sections:
           results as `a`, if `a` produces results other than `false`
           and `null`. Otherwise, `a // b` produces the same results as `b`.
 
-          This is useful for providing defaults: `.foo or 1` will
+          This is useful for providing defaults: `.foo // 1` will
           evaluate to `1` if there's no `.foo` element in the
           input. It's similar to how `or` is sometimes used in Python
           (jq's `or` operator is reserved for strictly Boolean
diff --git a/main.c b/main.c
index 48934cc419aef01d7fb0d4b6de89e2e24e51f75e..30876a374bf8c44b4321a1eb38a38d3af7279d6b 100644 (file)
--- a/main.c
+++ b/main.c
@@ -8,11 +8,12 @@
 #include "locfile.h"
 #include "parser.h"
 #include "execute.h"
+#include "version.gen.h"
 
 static const char* progname;
 
 static void usage() {
-  fprintf(stderr, "\njq - commandline JSON processor\n");
+  fprintf(stderr, "\njq - commandline JSON processor [version %s]\n", JQ_VERSION);
   fprintf(stderr, "Usage: %s [options] <jq filter>\n\n", progname);
   fprintf(stderr, "For a description of the command line options and\n");
   fprintf(stderr, "how to write jq filters (and why you might want to)\n");
@@ -92,6 +93,9 @@ int main(int argc, char* argv[]) {
       options |= PROVIDE_NULL;
     } else if (isoption(argv[i], 'h', "help")) {
       usage();
+    } else if (isoption(argv[i], 'V', "version")) {
+      fprintf(stderr, "jq version %s\n", JQ_VERSION);
+      return 0;
     } else {
       fprintf(stderr, "%s: Unknown option %s\n", progname, argv[i]);
       die();