|
6 | 6 |
|
7 | 7 | import nox
|
8 | 8 |
|
9 |
| -PROJECT = "bmi-tester" |
| 9 | +PROJECT = "bmi_tester" |
10 | 10 | ROOT = pathlib.Path(__file__).parent
|
11 | 11 | PYTHON_VERSION = "3.12"
|
12 | 12 |
|
@@ -54,6 +54,55 @@ def build(session: nox.Session) -> None:
|
54 | 54 | session.run("python", "-m", "build", "--outdir", "./build/wheelhouse")
|
55 | 55 |
|
56 | 56 |
|
| 57 | +@nox.session(name="build-docs") |
| 58 | +def build_docs(session: nox.Session) -> None: |
| 59 | + """Build the docs.""" |
| 60 | + |
| 61 | + build_generated_docs(session) |
| 62 | + |
| 63 | + session.install( |
| 64 | + *("-r", "requirements-docs.txt"), |
| 65 | + *("-r", "requirements.txt"), |
| 66 | + ) |
| 67 | + session.install(".") |
| 68 | + |
| 69 | + pathlib.Path("build").mkdir(exist_ok=True) |
| 70 | + |
| 71 | + session.run( |
| 72 | + "sphinx-build", |
| 73 | + "-b", |
| 74 | + "html", |
| 75 | + "-W", |
| 76 | + "--keep-going", |
| 77 | + "docs", |
| 78 | + "build/html", |
| 79 | + ) |
| 80 | + session.log(f"generated docs at build/html") |
| 81 | + |
| 82 | + |
| 83 | +@nox.session(name="build-generated-docs", reuse_venv=True) |
| 84 | +def build_generated_docs(session: nox.Session) -> None: |
| 85 | + """Build auto-generated files used by the docs.""" |
| 86 | + # FOLDER["docs_generated"].mkdir(exist_ok=True) |
| 87 | + |
| 88 | + session.install("sphinx") |
| 89 | + session.install("-e", ".") |
| 90 | + |
| 91 | + with session.chdir(ROOT): |
| 92 | + os.makedirs("src/docs/_generated/api", exist_ok=True) |
| 93 | + session.log("generating api docs in docs/api") |
| 94 | + session.run( |
| 95 | + "sphinx-apidoc", |
| 96 | + "-e", |
| 97 | + "-force", |
| 98 | + "--no-toc", |
| 99 | + "--module-first", |
| 100 | + "-o", |
| 101 | + "docs/_generated/api", |
| 102 | + "src/bmi_tester", |
| 103 | + ) |
| 104 | + |
| 105 | + |
57 | 106 | @nox.session(name="publish-testpypi")
|
58 | 107 | def publish_testpypi(session):
|
59 | 108 | """Publish wheelhouse/* to TestPyPI."""
|
|
0 commit comments