#!/usr/bin/env python3

import os
import runpy
from pathlib import Path

here = Path(__file__).parent
manager = runpy.run_path(str(Path(__file__).parent / "bootstrap_venvstarter.py"))["manager"]


def run(venv_location: Path, args: list[str]) -> str | list[str] | None:
    devtools_location = Path(__file__).parent / "devtools.py"
    return ["python", str(devtools_location)]


manager = manager(run).named(".python")

manager.add_local_dep(
    "{here}",
    "..",
    version_file=("extended_mypy_django_plugin", "version.py"),
    name="extended_mypy_django_plugin[stubs-latest]=={version}",
)

manager.add_local_dep(
    "{here}",
    "..",
    "scripts",
    "test_helpers",
    version_file=("extended_mypy_django_plugin_test_driver", "version.py"),
    name="extended_mypy_django_plugin_test_driver=={version}",
)

manager.add_local_dep(
    "{here}",
    "..",
    "example",
    version_file=("djangoexample", "version.py"),
    name="djangoexample=={version}",
)

if "TOX_PYTHON" in os.environ:
    folder = Path(os.environ["TOX_PYTHON"]).parent.parent
    manager.place_venv_in(folder.parent)
    manager.named(folder.name)
else:
    manager.add_requirements_file("{here}", "requirements.dev.txt")
    manager.add_requirements_file("{here}", "requirements.docs.txt")
    manager.min_python("3.10")

manager.run()
