diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2019-08-02 15:09:07 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2019-08-02 15:09:07 +0200 |
commit | 34e79ef18fc6260a4f255e6087b011d8ff741a43 (patch) | |
tree | 43e99aeddd9843fbeedf6dc1b0e5967d469bbb90 /src/ee/tools/ninja.py | |
parent | c8250596fc6b50f2c92fb3952491ddfcbf0f9781 (diff) | |
download | ee-python-34e79ef18fc6260a4f255e6087b011d8ff741a43.tar.gz ee-python-34e79ef18fc6260a4f255e6087b011d8ff741a43.tar.bz2 ee-python-34e79ef18fc6260a4f255e6087b011d8ff741a43.tar.xz ee-python-34e79ef18fc6260a4f255e6087b011d8ff741a43.zip |
odoo: wip
Diffstat (limited to 'src/ee/tools/ninja.py')
-rw-r--r-- | src/ee/tools/ninja.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/ee/tools/ninja.py b/src/ee/tools/ninja.py index 7d73d8f..3df8796 100644 --- a/src/ee/tools/ninja.py +++ b/src/ee/tools/ninja.py @@ -1,5 +1,6 @@ import argparse import os.path +import pydoc import sys from pathlib import Path from typing import List, Union @@ -126,11 +127,27 @@ def generate(project: Project): "default ee-reports\n", ]) + # Hooks + hooks = [("odoo", "ee.odoo.generate_ninja")] + hook_fragments = {} + for name, function in hooks: + f = pydoc.locate(function) + hook_fragments[name] = f(project) + with ee_ninja.open("w") as f: env = _create_env() template = env.get_template("build.ninja.j2") f.write(template.render(**params)) + f.write("\n") + if len(hooks): + for name, _ in hooks: + f.write("# Hook: {}\n".format(name)) + fragment_name = hook_fragments[name] + f.write(fragment_name) + if not fragment_name.endswith("\n"): + f.write("\n") + parser = argparse.ArgumentParser() ee.tools.add_default_argparse_group(parser) |