Skip to content

Commit 0089fa1

Browse files
committed
refactor: move scripts
1 parent 52c5e4f commit 0089fa1

File tree

14 files changed

+142
-20
lines changed

14 files changed

+142
-20
lines changed
File renamed without changes.

scripts/mkdoxy/main.py renamed to scripts/docgen/cppgen.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
log.setLevel(logging.DEBUG)
1616

1717

18-
def main(base_dir: Path, debug: bool = True):
18+
def generate(base_dir: Path, debug: bool = True):
1919
temp_dir = Path(__file__).parent.parent.parent / ".doxygen"
2020
temp_dir.mkdir(parents=True, exist_ok=True)
2121

@@ -26,7 +26,7 @@ def main(base_dir: Path, debug: bool = True):
2626
"FILE_PATTERNS": "*.h",
2727
"EXCLUDE_PATTERNS": "*/detail/*",
2828
"RECURSIVE": True,
29-
"STRIP_FROM_INC_PATH": "include/",
29+
"STRIP_FROM_INC_PATH": str(base_dir / "include"),
3030
}
3131

3232
runner = DoxygenRun('doxygen', str(base_dir / "include" / "endstone"), str(temp_dir), config, "")
@@ -74,8 +74,4 @@ def main(base_dir: Path, debug: bool = True):
7474
log.info(file)
7575

7676

77-
if __name__ == "__main__":
78-
parser = argparse.ArgumentParser()
79-
parser.add_argument("base_dir", type=Path)
80-
args = parser.parse_args()
81-
main(args.base_dir, debug=True)
77+
File renamed without changes.
File renamed without changes.

scripts/docgen/main.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import argparse
2+
from pathlib import Path
3+
import pygen
4+
import cppgen
5+
6+
if __name__ == "__main__":
7+
parser = argparse.ArgumentParser()
8+
parser.add_argument("base_dir", type=Path, help="Base directory for code generation")
9+
parser.add_argument(
10+
"--language",
11+
type=str,
12+
choices=["python", "cpp"],
13+
help="Language to generate code for (default: both)"
14+
)
15+
args = parser.parse_args()
16+
17+
if args.language == "python" or args.language is None:
18+
pygen.generate(args.base_dir)
19+
20+
if args.language == "cpp" or args.language is None:
21+
cppgen.generate(args.base_dir)

scripts/griffe2mdx/main.py renamed to scripts/docgen/pygen.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,28 @@
66
import griffe
77
import griffe2md.rendering
88
import mdformat
9-
import rendering_override
9+
import _rendering
1010
from griffe import GriffeLoader, Object, Parser, Kind
1111
from griffe2md import rendering
1212
from griffe2md.main import prepare_context, prepare_env
13-
from jinja2 import Environment, FileSystemLoader
13+
from jinja2 import FileSystemLoader
1414
from extension import StubOverloadExtension
1515

16-
sys.path.append(r"D:\Projects\CPP\endstone")
17-
1816

1917
def render_object_docs(obj: Object, config: dict | None = None) -> str:
2018
env = prepare_env()
2119
assert isinstance(env.loader, FileSystemLoader)
2220
loader: FileSystemLoader = env.loader
23-
loader.searchpath.insert(0, str(Path(__file__).parent / "templates"))
24-
env.filters["heading"] = rendering_override.do_heading
25-
env.filters["as_functions_section"] = rendering_override.do_as_functions_section
21+
loader.searchpath.insert(0, str(Path(__file__).parent / "templates" / "griffe2md"))
22+
env.filters["heading"] = _rendering.do_heading
23+
env.filters["as_functions_section"] = _rendering.do_as_functions_section
2624
context = prepare_context(obj, config)
2725
rendered = env.get_template(f"{obj.kind.value}.md.jinja").render(**context)
2826
return mdformat.text(rendered)
2927

3028

3129
def render_package_docs(package: str, config: dict | None = None) -> str:
32-
config = config or dict(rendering.default_config)
30+
config = config or dict(_rendering.default_config)
3331
parser = config["docstring_style"] and Parser(config["docstring_style"])
3432
extensions = griffe.load_extensions(StubOverloadExtension)
3533
loader = GriffeLoader(docstring_parser=parser, extensions=extensions)
@@ -38,7 +36,8 @@ def render_package_docs(package: str, config: dict | None = None) -> str:
3836
return render_object_docs(module, config) # type: ignore[arg-type]
3937

4038

41-
def main():
39+
def generate(base_dir: Path):
40+
sys.path.append(str(base_dir.absolute()))
4241
output_path = (
4342
Path(__file__).parent.parent.parent / "content" / "reference" / "python"
4443
)
@@ -81,7 +80,3 @@ def main():
8180
f.write(f'title: "endstone.{submodule_name}"\n') # Dynamic title
8281
f.write('---\n\n')
8382
f.write(render_package_docs(f"endstone.{submodule_name}", config))
84-
85-
86-
if __name__ == "__main__":
87-
main()

0 commit comments

Comments
 (0)