summaryrefslogtreecommitdiff
path: root/repo/www/generate-deps.py
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@gmail.com>2020-04-12 23:06:07 +0200
committerKévin Le Gouguec <kevin.legouguec@gmail.com>2020-04-12 23:06:07 +0200
commit12e18454ba07c3b7747f8b868f6830f05de149c4 (patch)
tree317c3f700b9d088cf30466a197ffc512d12fc183 /repo/www/generate-deps.py
parent629664bd50ed4e72cffc33bf2e7082119d483469 (diff)
downloadmemory-leaks-12e18454ba07c3b7747f8b868f6830f05de149c4.tar.xz
Add intermediate step to cache site tree
Seems kind of wasteful to recompute it every time. Also, now subsequent scripts don't have to care about file extensions anymore.
Diffstat (limited to 'repo/www/generate-deps.py')
-rwxr-xr-xrepo/www/generate-deps.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/repo/www/generate-deps.py b/repo/www/generate-deps.py
index 8388c40..e82b691 100755
--- a/repo/www/generate-deps.py
+++ b/repo/www/generate-deps.py
@@ -18,19 +18,20 @@ We want to compute:
OUTPUT/foo/index.html: foo | OUTPUT/foo
"""
+import json
from os import path
from sys import argv, exit
from git import Repo
-from helpers import compute_directories
+from helpers import deserialize_directories
def parse_arguments(args):
- if len(args) != 3:
- exit(f'Usage: {argv[0]} EXTENSIONS OUTPUT-DIR')
+ if len(args) != 4:
+ exit(f'Usage: {argv[0]} SITE-TREE OUTPUT-FILE OUTPUT-DIR')
- return argv[1].split(), argv[2]
+ return argv[1], argv[2], argv[3]
def pjoin(directory, item):
@@ -84,14 +85,15 @@ def write_dependencies(deps_file, directories, top_dir, out_dir):
def main(arguments):
- extensions, out_dir = parse_arguments(arguments)
+ tree_file, deps_file, out_dir = parse_arguments(arguments)
repository = Repo(search_parent_directories=True)
top_dir = path.relpath(repository.working_dir, path.curdir)
- directories = compute_directories(extensions, repository)
+ with open(tree_file) as tree:
+ directories = deserialize_directories(json.load(tree))
- with open('deps.mk', 'w') as deps:
+ with open(deps_file, 'w') as deps:
write_dependencies(deps, directories, top_dir, out_dir)