load("@fbcode_macros//build_defs:native_rules.bzl", "buck_filegroup", "buck_sh_test")
load("@fbcode_macros//build_defs:python_binary.bzl", "python_binary")

oncall("executorch")

python_binary(
    name = "sphinx",
    main_module = "sphinx.cmd.build",
    par_style = "xar",
    deps = [
        "//caffe2:torch",
        "//executorch/backends/xnnpack/quantizer:xnnpack_quantizer",
        "//executorch/devtools:lib",
        "//executorch/exir:lib",
        "//executorch/exir/backend/test:backend_with_compiler_demo",
        "//executorch/exir/backend/test:op_partitioner_demo",
        "//executorch/devtools/bundled_program/serialize:lib",
        "fbsource//third-party/pypi/ipykernel:ipykernel",
        "fbsource//third-party/pypi/jupyter-client:jupyter-client",
        "fbsource//third-party/pypi/jupytext:jupytext",
        "fbsource//third-party/pypi/nbsphinx:nbsphinx",
        "fbsource//third-party/pypi/pytorch-sphinx-theme:pytorch-sphinx-theme",
        "fbsource//third-party/pypi/sphinx:sphinx",
        "fbsource//third-party/pypi/breathe:breathe",
        "fbsource//third-party/pypi/sphinx-copybutton:sphinx-copybutton",
        "fbsource//third-party/pypi/sphinx-design:sphinx-design",
        "fbsource//third-party/pypi/sphinx-gallery:sphinx-gallery",
        "fbsource//third-party/pypi/matplotlib:matplotlib",
        "fbsource//third-party/pypi/myst-parser:myst-parser",
    ],
)

buck_filegroup(
    name = "source",
    srcs = glob(["source/**/*"]),
)

buck_sh_test(
    name = "doctest",
    args = [
        "-M",
        "doctest",
        "$(location :source)/source/",
        "/tmp/sphinxbuild",
    ],
    test = ":sphinx",
)
