load(
"@prelude-si//:macros.bzl",
"rust_binary",
"sh_binary",
)
rust_binary(
name = "openapi-extractor",
deps = [
"//lib/luminork-server:luminork-server",
"//third-party/rust:serde_json",
"//third-party/rust:tokio",
],
srcs = glob(["src/**/*.rs"]),
env = {"CARGO_BIN_NAME": "openapi-extractor"},
)
genrule(
name = 'generate_api_spec',
cmd = '$(exe :openapi-extractor) $OUT',
out = 'data/openapi.json',
visibility = ["PUBLIC"],
)
genrule(
name = "generate_python_sdk",
cmd = "./sdk-generators/generate-python-sdk.sh $(location :generate_api_spec) $OUT",
out = "generated-python-sdk",
srcs = ["sdk-generators/generate-python-sdk.sh"],
visibility = ["PUBLIC"],
)
genrule(
name = "generate_typescript_sdk",
cmd = "./sdk-generators/generate-typescript-sdk.sh $(location :generate_api_spec) $OUT",
out = "generated-typescript-sdk",
srcs = ["sdk-generators/generate-typescript-sdk.sh"],
visibility = ["PUBLIC"],
)