From 57c1ba7a5f4d93acc5459cedb2b76a809964e77e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Brandenburg?= <bbb@mpi-sws.org> Date: Thu, 19 Dec 2019 16:07:50 +0100 Subject: [PATCH] deliberately order TOC of generated documentation --- create_makefile.sh | 2 +- scripts/module-toc-order.py | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100755 scripts/module-toc-order.py diff --git a/create_makefile.sh b/create_makefile.sh index 973076b38..4d9819173 100755 --- a/create_makefile.sh +++ b/create_makefile.sh @@ -23,7 +23,7 @@ done FIND_OPTS+=( -print ) # Compile all relevant *.v files -coq_makefile -f _CoqProject $(find "${FIND_OPTS[@]}" ) -o Makefile +coq_makefile -f _CoqProject $(find "${FIND_OPTS[@]}" | scripts/module-toc-order.py ) -o Makefile # Patch HTML target to switch out color, and # so that it parses comments and has links to ssreflect. diff --git a/scripts/module-toc-order.py b/scripts/module-toc-order.py new file mode 100755 index 000000000..a00dd210d --- /dev/null +++ b/scripts/module-toc-order.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 + +import os +import sys + +MODULE_ORDER = [ + 'behavior.time', + 'behavior.job', + 'behavior.schedule', + 'behavior.service', + 'behavior.arrival_sequence', + 'behavior.ready', + 'behavior', + 'model.processor', + 'model.readiness', + 'model.preemption', + 'model.task', + 'model.priority', + 'model.schedule', + 'model', + 'results', + 'analysis', + 'classic', + 'util', +] + +def modorder(fname): + modname = fname.replace('./', '').replace('.v', '').replace('/', '.') + for i, prefix in enumerate(MODULE_ORDER): + if modname.startswith(prefix): + return (i, modname) + return (len(MODULE_ORDER), modname) + +def main(): + lines = sys.stdin.readlines() + for l in sorted(lines, key=modorder): + print(l, end='') + +if __name__ == '__main__': + main() + -- GitLab