###############################################################################
# Bazel now uses Bzlmod by default to manage external dependencies.
# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel.
#
# For more details, please check https://github.com/bazelbuild/bazel/issues/18958
###############################################################################
module(
    name="osee",
    version = "1.0"
)
bazel_dep(name = "aspect_bazel_lib", version = "2.3.0")

# Used for rules_osee

# Used for packaging
# Feature[INTERNAL_RELEASE_ONLY]
bazel_dep(name = "rules_pkg", version = "0.10.1")
bazel_dep(name = "stardoc", version = "0.5.6")
# End Feature

bazel_dep(name="rules_osee", version="0.2.10")

local_path_override(module_name="rules_osee",path="rules_osee")

bat = use_extension("@rules_osee//bat:extensions.bzl","bat")
bat.toolchain()

plconfig = use_extension("@rules_osee//plconfig:extensions.bzl","plconfig")
plconfig.config(
    name="my_product_line",            
    osee_url="http://host.docker.internal:8089",
    branch_id="8",
    sha256="867edb85ef1c5e840c67d3c4bc3cda14efa331c2830bfe6e272aa4d4904798c0")
use_repo(
    plconfig,
    "my_product_line"
)

# End rules_osee

bazel_dep(name="rules_rust" , version = "0.42.1")
rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
rust.toolchain(edition = "2021")
use_repo(
    rust,
    "rust_toolchains",
)
register_toolchains("@rust_toolchains//:all")
crate = use_extension(
    "@rules_rust//crate_universe:extension.bzl",
    "crate",
)
crate.from_cargo(
    name = "crates",
    cargo_lockfile = ":Cargo.lock",
    manifests = [
    ":Cargo.toml",
    "//cli/bat:Cargo.toml",
    "//cli/pat:Cargo.toml",
    "//cli/applicability:Cargo.toml",
    "//cli/applicability_parser:Cargo.toml",
    "//cli/applicability_parser_config:Cargo.toml",
    "//cli/applicability_match:Cargo.toml",
    "//cli/applicability_parser_types:Cargo.toml",
    "//cli/applicability_path:Cargo.toml",
    "//cli/applicability_sanitization:Cargo.toml",
    "//cli/applicability_substitution:Cargo.toml"],
)
use_repo(crate, "crates")
register_toolchains("//:local_bat_toolchain")