Tweak Lua-doc processing:
authorRobin Gareus <robin@gareus.org>
Thu, 29 Aug 2019 03:42:46 +0000 (05:42 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 29 Aug 2019 03:43:02 +0000 (05:43 +0200)
Separate PHP based post-processing, used for manual creation.
php-cli may not be available on build host.

tools/doxy2json/ardourdoc.sh
tools/doxy2json/postproc.sh [new file with mode: 0755]

index 8237641bd0dd999ba044bb16d2e6bce4c9f82205..975235dc51fcadf2e86539f16b0922d22461ef05 100755 (executable)
@@ -38,39 +38,8 @@ time ./tools/doxy2json/doxy2json -j 4 \
 
 ls -lh $TMPFILE
 
-echo "# consolidating JSON"
-php << EOF
-<?php
-\$json = file_get_contents ('$TMPFILE');
-\$api = array ();
-foreach (json_decode (\$json, true) as \$a) {
-       if (!isset (\$a['decl'])) { continue; }
-
-       \$a['decl'] = str_replace ('size_t', 'unsigned long', \$a['decl']);
-       \$a['decl'] = str_replace ('uint32_t', 'unsigned int', \$a['decl']);
-       \$a['decl'] = str_replace ('int32_t', 'int', \$a['decl']);
-       \$a['decl'] = str_replace ('samplepos_t', 'long', \$a['decl']);
-       \$a['decl'] = str_replace ('samplecnt_t', 'long', \$a['decl']);
-       \$a['decl'] = str_replace ('frameoffset_t', 'long', \$a['decl']);
-       \$a['decl'] = str_replace ('int64_t', 'long', \$a['decl']);
-       \$a['decl'] = str_replace ('uint8_t', 'unsigned char', \$a['decl']);
-       \$a['decl'] = str_replace ('pframes_t', 'unsigned int', \$a['decl']);
-       \$a['decl'] = str_replace ('uint64_t', 'unsigned long', \$a['decl']);
-       \$a['decl'] = str_replace ('const char', 'char', \$a['decl']);
-       \$a['decl'] = str_replace ('const float', 'float', \$a['decl']);
-       \$a['decl'] = str_replace ('const double', 'double', \$a['decl']);
-       \$a['decl'] = str_replace ('const long', 'long', \$a['decl']);
-       \$a['decl'] = str_replace ('const unsigned int', 'unsigned int', \$a['decl']);
-       \$a['decl'] = str_replace ('const unsigned long', 'unsigned long', \$a['decl']);
-       \$a['decl'] = str_replace (' ::Vamp::', ' Vamp::', \$a['decl']);
-       \$canon = str_replace (' *', '*', \$a['decl']);
-       \$api[\$canon] = \$a;
-}
-\$jout = array ();
-foreach (\$api as \$k => \$a) {
-       \$jout[] = \$a;
-}
-file_put_contents('doc/ardourapi.json.gz', gzencode (json_encode (\$jout, JSON_PRETTY_PRINT)));
-EOF
-
-ls -l doc/ardourapi.json.gz
+if test -z "$1"; then
+       ./tools/doxy2json/postproc.sh $TMPFILE
+else
+       cp -vi $TMPFILE doc/ardourapi-pre.json
+fi
diff --git a/tools/doxy2json/postproc.sh b/tools/doxy2json/postproc.sh
new file mode 100755 (executable)
index 0000000..6c74d5f
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/bash
+cd `dirname $0`
+cd ../..
+
+set -e
+
+test -f "$1"
+
+echo "# consolidating JSON $1"
+php << EOF
+<?php
+\$json = file_get_contents ('$1');
+\$api = array ();
+foreach (json_decode (\$json, true) as \$a) {
+       if (!isset (\$a['decl'])) { continue; }
+
+       \$a['decl'] = str_replace ('__cxx11::', '', \$a['decl']);
+       \$a['decl'] = str_replace ('size_t', 'unsigned long', \$a['decl']);
+       \$a['decl'] = str_replace ('uint32_t', 'unsigned int', \$a['decl']);
+       \$a['decl'] = str_replace ('int32_t', 'int', \$a['decl']);
+       \$a['decl'] = str_replace ('ARDOUR::samplepos_t', 'long', \$a['decl']);
+       \$a['decl'] = str_replace ('ARDOUR::samplecnt_t', 'long', \$a['decl']);
+       \$a['decl'] = str_replace ('ARDOUR::sampleoffset_t', 'long', \$a['decl']);
+       \$a['decl'] = str_replace ('ARDOUR::frameoffset_t', 'long', \$a['decl']);
+       \$a['decl'] = str_replace ('ARDOUR::pframes_t', 'unsigned int', \$a['decl']);
+       \$a['decl'] = str_replace ('samplepos_t', 'long', \$a['decl']);
+       \$a['decl'] = str_replace ('samplecnt_t', 'long', \$a['decl']);
+       \$a['decl'] = str_replace ('sampleoffset_t', 'long', \$a['decl']);
+       \$a['decl'] = str_replace ('frameoffset_t', 'long', \$a['decl']);
+       \$a['decl'] = str_replace ('pframes_t', 'unsigned int', \$a['decl']);
+       \$a['decl'] = str_replace ('int64_t', 'long', \$a['decl']);
+       \$a['decl'] = str_replace ('uint8_t', 'unsigned char', \$a['decl']);
+       \$a['decl'] = str_replace ('uint64_t', 'unsigned long', \$a['decl']);
+       \$a['decl'] = str_replace ('const char', 'char', \$a['decl']);
+       \$a['decl'] = str_replace ('const float', 'float', \$a['decl']);
+       \$a['decl'] = str_replace ('const double', 'double', \$a['decl']);
+       \$a['decl'] = str_replace ('const long', 'long', \$a['decl']);
+       \$a['decl'] = str_replace ('const unsigned int', 'unsigned int', \$a['decl']);
+       \$a['decl'] = str_replace ('const unsigned long', 'unsigned long', \$a['decl']);
+       \$a['decl'] = str_replace (' ::Vamp::', ' Vamp::', \$a['decl']);
+       \$canon = str_replace (' *', '*', \$a['decl']);
+       \$api[\$canon] = \$a;
+}
+\$jout = array ();
+foreach (\$api as \$k => \$a) {
+       \$jout[] = \$a;
+}
+file_put_contents('doc/ardourapi.json.gz', gzencode (json_encode (\$jout, JSON_PRETTY_PRINT)));
+EOF
+
+ls -l doc/ardourapi.json.gz