From 052fcab5a636096f17128f7e21671e1ffb1a9e05 Mon Sep 17 00:00:00 2001 From: nircoe Date: Tue, 23 Dec 2025 21:15:49 +0200 Subject: [PATCH] [Refactor]: Generate code using Jinja2 and template files --- pyproject.toml | 3 +++ src/gencoe/component.py | 1 + src/gencoe/init.py | 1 + src/gencoe/templates/CMakeLists.txt.jinja | 0 src/gencoe/templates/component.cpp.jinja | 0 src/gencoe/templates/component.hpp.jinja | 0 src/gencoe/templates/main.cpp.jinja | 0 src/gencoe/templates/renderer.cpp.jinja | 0 src/gencoe/templates/renderer.hpp.jinja | 0 9 files changed, 5 insertions(+) create mode 100644 src/gencoe/templates/CMakeLists.txt.jinja create mode 100644 src/gencoe/templates/component.cpp.jinja create mode 100644 src/gencoe/templates/component.hpp.jinja create mode 100644 src/gencoe/templates/main.cpp.jinja create mode 100644 src/gencoe/templates/renderer.cpp.jinja create mode 100644 src/gencoe/templates/renderer.hpp.jinja diff --git a/pyproject.toml b/pyproject.toml index 8dfbf46..6851ed1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,6 +12,9 @@ license = {text = "MIT"} authors = [ {name = "Nir Cohen", email = "nircoe@gmail.com"} ] +dependencies = [ + "jinja2>=3.0.0", +] [project.scripts] gencoe = "gencoe.__main__:main" diff --git a/src/gencoe/component.py b/src/gencoe/component.py index b2a3760..6b1aca0 100644 --- a/src/gencoe/component.py +++ b/src/gencoe/component.py @@ -5,6 +5,7 @@ from textwrap import dedent, indent import re import os +from jinja2 import Environment, PackageLoader INHERIT_OPTIONS = { 'Renderer': 'gamecoe/entity/renderer/renderer.hpp' diff --git a/src/gencoe/init.py b/src/gencoe/init.py index 6beb262..619dbca 100644 --- a/src/gencoe/init.py +++ b/src/gencoe/init.py @@ -3,6 +3,7 @@ import argparse from pathlib import Path from textwrap import dedent +from jinja2 import Environment, PackageLoader def create_parser(subparsers): parser = subparsers.add_parser( diff --git a/src/gencoe/templates/CMakeLists.txt.jinja b/src/gencoe/templates/CMakeLists.txt.jinja new file mode 100644 index 0000000..e69de29 diff --git a/src/gencoe/templates/component.cpp.jinja b/src/gencoe/templates/component.cpp.jinja new file mode 100644 index 0000000..e69de29 diff --git a/src/gencoe/templates/component.hpp.jinja b/src/gencoe/templates/component.hpp.jinja new file mode 100644 index 0000000..e69de29 diff --git a/src/gencoe/templates/main.cpp.jinja b/src/gencoe/templates/main.cpp.jinja new file mode 100644 index 0000000..e69de29 diff --git a/src/gencoe/templates/renderer.cpp.jinja b/src/gencoe/templates/renderer.cpp.jinja new file mode 100644 index 0000000..e69de29 diff --git a/src/gencoe/templates/renderer.hpp.jinja b/src/gencoe/templates/renderer.hpp.jinja new file mode 100644 index 0000000..e69de29