Module
#################################################################################################################################################################
"""
Vantle (c) 2025
projects.vantle.org
connect@vantle.org
"""
module(
name = "vantle",
version = "0.0.0",
bazel_compatibility = [">=9.0.0"],
)
#################################################################################################################################################################
##################### Dependencies [ Dependencies ]
############### Toolchain [ Toolchain ]
########## Bazel [ Toolchain, Bazel ]
bazel_dep(name = "stardoc", version = "0.8.1")
bazel_dep(name = "bazel_skylib", version = "1.9.0")
bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "rules_cc", version = "0.2.17")
bazel_dep(name = "apple_support", version = "2.3.0")
bazel_dep(name = "llvm", version = "0.6.6")
bazel_dep(name = "buildozer", version = "8.5.1", dev_dependency = True)
buildozer_binary = use_extension("@buildozer//:buildozer_binary.bzl", "buildozer_binary")
use_repo(buildozer_binary, "buildozer_binary")
########## LLVM [ Toolchain, LLVM ]
##### OSX SDK [ Toolchain, LLVM, OSX ]
osx = use_extension("@llvm//extensions:osx.bzl", "osx")
osx.framework(name = "AppKit")
osx.framework(name = "ApplicationServices")
osx.framework(name = "Carbon")
osx.framework(name = "CFNetwork")
osx.framework(name = "ColorSync")
osx.framework(name = "CoreFoundation")
osx.framework(name = "CoreGraphics")
osx.framework(name = "CoreImage")
osx.framework(name = "CoreServices")
osx.framework(name = "CoreText")
osx.framework(name = "CoreVideo")
osx.framework(name = "FontServices")
osx.framework(name = "Foundation")
osx.framework(name = "ImageIO")
osx.framework(name = "IOKit")
osx.framework(name = "IOSurface")
osx.framework(name = "Kernel")
osx.framework(name = "Metal")
osx.framework(name = "OSLog")
osx.framework(name = "QuartzCore")
osx.framework(name = "Security")
osx.framework(name = "SystemConfiguration")
##### MinGW [ Toolchain, LLVM, MinGW ]
mingw = use_extension("@llvm//runtimes/mingw/extension:mingw.bzl", "mingw")
use_repo(mingw, "mingw")
##### Compilation [ Toolchain, Compilation ]
########## Java [ Toolchain, Java ]
bazel_dep(name = "rules_java", version = "9.6.1")
########## Python [ Toolchain, Python ]
bazel_dep(name = "rules_python", version = "1.9.0")
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
python_version = "3.14",
)
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "pypi",
python_version = "3.14",
requirements_lock = "//:requirements.txt",
)
use_repo(pip, "pypi")
########## Proto [ Toolchain, Proto ]
bazel_dep(name = "rules_proto", version = "7.1.0")
########## Rust [ Toolchain, Rust ]
bazel_dep(name = "rules_rust", version = "0.69.0")
bazel_dep(name = "rules_rust_prost", version = "0.69.0")
bazel_dep(name = "rules_rust_wasm_bindgen", version = "0.69.0")
rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
rust.toolchain(
edition = "2024",
extra_target_triples = ["wasm32-unknown-unknown"],
versions = ["1.94.0"],
)
use_repo(rust, "rust_toolchains")
register_toolchains(
"@llvm//toolchain:all",
"@rust_toolchains//:all",
"//platform/protobuf:toolchain",
"//platform/wasm:toolchain",
"@buildifier_prebuilt_toolchains//:buildifier_linux_amd64_toolchain",
"@buildifier_prebuilt_toolchains//:buildozer_linux_amd64_toolchain",
"@buildifier_prebuilt_toolchains//:buildifier_darwin_arm64_toolchain",
"@buildifier_prebuilt_toolchains//:buildozer_darwin_arm64_toolchain",
"@buildifier_prebuilt_toolchains//:buildifier_darwin_amd64_toolchain",
"@buildifier_prebuilt_toolchains//:buildozer_darwin_amd64_toolchain",
)
##### Crates [ Toolchain, Rust, Crates ]
crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate")
crate.spec(
features = ["derive"],
package = "clap",
version = "4.5.60",
)
crate.spec(
package = "cached",
version = "0.58.0",
)
crate.spec(
package = "ctor",
version = "0.6.3",
)
crate.spec(
package = "difference",
version = "2.0.0",
)
crate.spec(
package = "flate2",
version = "1.1.9",
)
crate.spec(
features = ["derive"],
package = "bytemuck",
version = "1.25.0",
)
crate.spec(
package = "itertools",
version = "0.14.0",
)
crate.spec(
features = ["fancy"],
package = "miette",
version = "7.6.0",
)
crate.spec(
package = "owo-colors",
version = "4.3.0",
)
crate.spec(
features = ["editor"],
package = "inquire",
version = "0.9.4",
)
crate.spec(
package = "inquire-derive",
version = "0.9.4",
)
crate.spec(
package = "prettyplease",
version = "0.2.37",
)
crate.spec(
features = ["span-locations"],
package = "proc-macro2",
version = "1.0.106",
)
crate.spec(
package = "quote",
version = "1.0.45",
)
crate.spec(
features = [
"derive",
"rc",
"std",
],
package = "serde",
version = "1.0.228",
)
crate.spec(
package = "serde_json",
version = "1.0.149",
)
crate.spec(
package = "serde_with",
version = "3.17.0",
)
crate.spec(
package = "pollster",
version = "0.4.0",
)
crate.spec(
features = [
"full",
"extra-traits",
],
package = "syn",
version = "2.0.117",
)
crate.spec(
package = "winit",
version = "0.30.13",
)
crate.spec(
package = "wgpu",
version = "28.0.0",
)
crate.spec(
default_features = False,
features = ["png"],
package = "image",
version = "0.25.9",
)
crate.spec(
package = "glyphon",
version = "0.10.0",
)
crate.spec(
package = "pretty_assertions",
version = "1.4.1",
)
crate.spec(
package = "thiserror",
version = "2.0.18",
)
crate.spec(
features = [
"deref",
"deref_mut",
"from",
"into",
],
package = "derive_more",
version = "2.1.1",
)
crate.spec(
package = "tracing",
version = "0.1.44",
)
crate.spec(
package = "tracing-core",
version = "0.1.36",
)
crate.spec(
package = "tracing-subscriber",
version = "0.3.22",
)
crate.spec(
package = "tracing-chrome",
version = "0.7.2",
)
crate.spec(
package = "strsim",
version = "0.11.1",
)
crate.spec(
package = "rstar",
version = "0.12.2",
)
crate.spec(
features = ["serde-serialize"],
package = "nalgebra",
version = "0.34.1",
)
##### Server [ Toolchain, Rust, Crates, Server ]
crate.spec(
package = "axum",
version = "0.8.8",
)
crate.spec(
features = [
"fs",
"trace",
],
package = "tower-http",
version = "0.6.8",
)
##### Web Assembly [ Toolchain, Rust, Crates, Wasm ]
crate.spec(
package = "wasm-bindgen",
version = "=0.2.114",
)
crate.spec(
package = "wasm-bindgen-futures",
version = "=0.4.64",
)
crate.spec(
features = [
"Clipboard",
"Document",
"DomParser",
"DomTokenList",
"Element",
"Event",
"EventTarget",
"Headers",
"History",
"HtmlCollection",
"HtmlElement",
"IntersectionObserver",
"IntersectionObserverEntry",
"IntersectionObserverInit",
"Location",
"MediaQueryList",
"Navigator",
"Node",
"NodeList",
"PopStateEvent",
"Request",
"RequestInit",
"Response",
"Storage",
"SupportedType",
"Text",
"Window",
],
package = "web-sys",
version = "=0.3.91",
)
crate.spec(
package = "js-sys",
version = "=0.3.91",
)
crate.spec(
package = "wasm-bindgen-cli",
version = "=0.2.114",
)
crate.annotation(
crate = "wasm-bindgen-cli",
gen_binaries = ["wasm-bindgen"],
)
##### Prost Toolchain [ Toolchain, Rust, Crates, Prost ]
crate.spec(
package = "prost",
version = "0.14.3",
)
crate.spec(
package = "prost-types",
version = "0.14.3",
)
crate.spec(
features = ["transport"],
package = "tonic",
version = "0.14.5",
)
crate.spec(
package = "tonic-prost",
version = "0.14.5",
)
crate.spec(
package = "protoc-gen-prost",
version = "0.5.0",
)
crate.annotation(
crate = "protoc-gen-prost",
gen_binaries = ["protoc-gen-prost"],
)
crate.spec(
package = "protoc-gen-tonic",
version = "0.5.0",
)
crate.annotation(
crate = "protoc-gen-tonic",
gen_binaries = ["protoc-gen-tonic"],
)
##### Streaming [ Toolchain, Rust, Crates, Streaming ]
crate.spec(
package = "async-stream",
version = "0.3.6",
)
crate.spec(
package = "futures-core",
version = "0.3.32",
)
crate.spec(
features = [
"macros",
"rt-multi-thread",
"signal",
"sync",
],
package = "tokio",
version = "1.50.0",
)
crate.spec(
features = ["sync"],
package = "tokio-stream",
version = "0.1.18",
)
crate.spec(
features = ["rt"],
package = "tokio-util",
version = "0.7.18",
)
crate.spec(
package = "dashmap",
version = "6.1.0",
)
crate.spec(
package = "url",
version = "2.5.8",
)
crate.spec(
package = "sha2",
version = "0.10.9",
)
##### Syntax [ Toolchain, Rust, Crates, Syntax ]
crate.spec(
package = "tree-sitter",
version = "0.26.6",
)
crate.spec(
package = "tree-sitter-python",
version = "0.25.0",
)
crate.spec(
package = "tree-sitter-bash",
version = "0.25.1",
)
crate.spec(
package = "tree-sitter-rust",
version = "0.24.0",
)
crate.spec(
package = "tree-sitter-json",
version = "0.24.8",
)
crate.spec(
package = "tree-sitter-md",
version = "0.5.3",
features = ["parser"],
)
crate.annotation(
crate = "tree-sitter",
gen_build_script = "on",
)
crate.annotation(
crate = "tree-sitter-python",
gen_build_script = "on",
)
crate.annotation(
crate = "tree-sitter-bash",
gen_build_script = "on",
)
crate.annotation(
crate = "tree-sitter-rust",
gen_build_script = "on",
)
crate.annotation(
crate = "tree-sitter-json",
gen_build_script = "on",
)
crate.annotation(
crate = "tree-sitter-md",
gen_build_script = "on",
)
crate.from_specs()
use_repo(crate, "crates")
########## Validation
##### Document [ Validation, Document ]
vnu = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
vnu(
name = "vnu",
build_file_content = """exports_files(["package/build/dist/vnu.jar"])""",
sha256 = "fea8d3a97667b1a69b50c90dfdd917a34bbd5aae0b39d42761a723dc1a7cae84",
urls = ["https://registry.npmjs.org/vnu-jar/-/vnu-jar-26.3.8.tgz"],
)
##### Bazel [ Validation, Bazel ]
bazel_dep(name = "buildifier_prebuilt", version = "8.2.1.2", dev_dependency = True)
buildifier_prebuilt = use_extension("@buildifier_prebuilt//:defs.bzl", "buildifier_prebuilt_deps_extension", dev_dependency = True)
use_repo(buildifier_prebuilt, "buildifier_prebuilt_toolchains")