workspace(name = "examples")

local_repository(
    name = "rules_rust",
    path = "../../",
)

load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")

rules_rust_dependencies()

rust_register_toolchains(
    edition = "2018",
    include_rustc_srcs = True,
)

load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")

crate_universe_dependencies()

load("@rules_rust//crate_universe:crates_deps.bzl", "crate_repositories")

crate_repositories()

load("@rules_rust//crate_universe:defs.bzl", "crate", "crates_repository", "splicing_config")

###############################################################################
# C A R G O   A L I A S E S
###############################################################################

crates_repository(
    name = "cargo_aliases",
    annotations = {
        "names": [crate.annotation(
            shallow_since = "1646516410 -0700",
            version = "0.12.1-dev",
        )],
    },
    # `generator` is not necessary in official releases.
    # See load satement for `cargo_bazel_bootstrap`.
    generator = "@cargo_bazel_bootstrap//:cargo-bazel",
    lockfile = "//cargo_aliases:Cargo.Bazel.lock",
    manifests = ["//cargo_aliases:Cargo.toml"],
)

load(
    "@cargo_aliases//:defs.bzl",
    cargo_aliases_crate_repositories = "crate_repositories",
)

cargo_aliases_crate_repositories()

###############################################################################
# C A R G O   L O C A L
###############################################################################

crates_repository(
    name = "crate_index_cargo_local",
    # `generator` is not necessary in official releases.
    # See load satement for `cargo_bazel_bootstrap`.
    generator = "@cargo_bazel_bootstrap//:cargo-bazel",
    lockfile = "//cargo_local:Cargo.lock",
    lockfile_kind = "cargo",
    manifests = ["//cargo_local:Cargo.toml"],
)

load(
    "@crate_index_cargo_local//:defs.bzl",
    cargo_local_crate_repositories = "crate_repositories",
)

cargo_local_crate_repositories()

###############################################################################
# C A R G O   R E M O T E
###############################################################################

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "names",
    build_file = "//cargo_remote:BUILD.names.bazel",
    sha256 = "eab40caca5805624ba31d028913931c3d054b22daafff6f43e3435cfa9fb761e",
    strip_prefix = "names-0.13.0",
    urls = ["https://github.com/fnichol/names/archive/refs/tags/v0.13.0.zip"],
)

crates_repository(
    name = "crate_index_cargo_remote",
    # `generator` is not necessary in official releases.
    # See load satement for `cargo_bazel_bootstrap`.
    generator = "@cargo_bazel_bootstrap//:cargo-bazel",
    lockfile = "@names//:Cargo.lock",
    lockfile_kind = "cargo",
    manifests = ["@names//:Cargo.toml"],
)

load(
    "@crate_index_cargo_remote//:defs.bzl",
    cargo_remote_crate_repositories = "crate_repositories",
)

cargo_remote_crate_repositories()

###############################################################################
# C A R G O   W O R K S P A C E
###############################################################################

crates_repository(
    name = "crate_index_cargo_workspace",
    cargo_config = "//cargo_workspace:.cargo/config.toml",
    # `generator` is not necessary in official releases.
    # See load satement for `cargo_bazel_bootstrap`.
    generator = "@cargo_bazel_bootstrap//:cargo-bazel",
    lockfile = "//cargo_workspace:Cargo.Bazel.lock",
    manifests = [
        "//cargo_workspace:Cargo.toml",
        "//cargo_workspace/num_printer:Cargo.toml",
        "//cargo_workspace/printer:Cargo.toml",
        "//cargo_workspace/rng:Cargo.toml",
    ],
)

load(
    "@crate_index_cargo_workspace//:defs.bzl",
    cargo_workspace_crate_repositories = "crate_repositories",
)

cargo_workspace_crate_repositories()

###############################################################################
# E X T R A   W O R K S P A C E   M E M B E R S
###############################################################################

crates_repository(
    name = "crate_index_extra_members",
    extra_workspace_members = {
        "texture-synthesis-cli": crate.workspace_member(
            sha256 = "a7dbdf13f5e6f214750fce1073279b71ce3076157a8d337c9b0f0e14334e2aec",
            version = "0.8.2",
        ),
    },
    # `generator` is not necessary in official releases.
    # See load satement for `cargo_bazel_bootstrap`.
    generator = "@cargo_bazel_bootstrap//:cargo-bazel",
    lockfile = "//extra_workspace_members:Cargo.Bazel.lock",
    manifests = ["//extra_workspace_members:Cargo.toml"],
)

load(
    "@crate_index_extra_members//:defs.bzl",
    extra_workspace_members_crate_repositories = "crate_repositories",
)

extra_workspace_members_crate_repositories()

###############################################################################
# M U L T I   P A C K A G E
###############################################################################

crates_repository(
    # The name here needs to be short to avoid long path issues on windows
    # when running the `libnghttp2-sys` build script.
    name = "m_pkgs",
    annotations = {
        "curl-sys": [crate.annotation(
            gen_build_script = False,
            deps = [
                "@curl",
                "@libssh2",
            ],
        )],
        "lalrpop": [crate.annotation(
            data_glob = ["**/*.lalrpop"],
        )],
        "libnghttp2-sys": [crate.annotation(
            build_script_data_glob = ["nghttp2/**"],
            data_glob = ["nghttp2/**"],
        )],
        "openssl-sys": [crate.annotation(
            build_script_data = [
                "@openssl//:gen_dir",
                "@openssl//:openssl",
            ],
            build_script_data_glob = ["build/**/*.c"],
            build_script_env = {
                "OPENSSL_DIR": "$(execpath @openssl//:gen_dir)",
                "OPENSSL_STATIC": "1",
            },
            data = ["@openssl"],
            deps = ["@openssl"],
        )],
        "wepoll-ffi": [crate.annotation(
            build_script_data_glob = ["vendor/**"],
        )],
    },
    # `generator` is not necessary in official releases.
    # See load satement for `cargo_bazel_bootstrap`.
    generator = "@cargo_bazel_bootstrap//:cargo-bazel",
    lockfile = "//multi_package:Cargo.Bazel.lock",
    manifests = [
        "//multi_package/pkg_a:Cargo.toml",
        "//multi_package/sub_pkgs/pkg_b:Cargo.toml",
        "//multi_package/sub_pkgs/pkg_c:Cargo.toml",
    ],
)

load(
    "@m_pkgs//:defs.bzl",
    multi_pkg_crate_repositories = "crate_repositories",
)

multi_pkg_crate_repositories()

# ForeignCc is used to build OpenSSL
http_archive(
    name = "rules_foreign_cc",
    sha256 = "1df78c7d7eed2dc21b8b325a2853c31933a81e7b780f9a59a5d078be9008b13a",
    strip_prefix = "rules_foreign_cc-0.7.0",
    url = "https://github.com/bazelbuild/rules_foreign_cc/archive/0.7.0.tar.gz",
)

load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")

rules_foreign_cc_dependencies()

# Load OpenSSL and other 3rd party dependencies
load("//multi_package/3rdparty:third_party_deps.bzl", "third_party_deps")

third_party_deps()

# perl is used to build openssl
http_archive(
    name = "rules_perl",
    sha256 = "0c0cc01b158321c3c84af49409393c14b66070249d0affb78a88ca594b2aa9c2",
    strip_prefix = "rules_perl-43d2db0aafe595fe0ac61b808c9c13ea9769ce03",
    urls = [
        "https://github.com/bazelbuild/rules_perl/archive/43d2db0aafe595fe0ac61b808c9c13ea9769ce03.tar.gz",
    ],
)

load("@rules_perl//perl:deps.bzl", "perl_register_toolchains", "perl_rules_dependencies")

perl_rules_dependencies()

perl_register_toolchains()

###############################################################################
# N O   C A R G O   M A N I F E S T S
###############################################################################

crates_repository(
    name = "no_cargo",
    annotations = {
        "axum": [crate.annotation(
            compile_data_glob = ["**/*.md"],
        )],
    },
    # `generator` is not necessary in official releases.
    # See load satement for `cargo_bazel_bootstrap`.
    generator = "@cargo_bazel_bootstrap//:cargo-bazel",
    lockfile = "//no_cargo_manifests:Cargo.Bazel.lock",
    packages = {
        "axum": crate.spec(
            version = "0.4.0",
        ),
        "hyper": crate.spec(
            features = ["full"],
            version = "0.14",
        ),
        "mime": crate.spec(
            version = "0.3",
        ),
        "serde_json": crate.spec(
            version = "1.0",
        ),
        "tokio": crate.spec(
            features = ["full"],
            version = "1.17.0",
        ),
        "tower": crate.spec(
            features = ["util"],
            version = "0.4",
        ),
        "tower-http": crate.spec(
            features = ["trace"],
            version = "0.2.1",
        ),
        "tracing": crate.spec(
            version = "0.1",
        ),
        "tracing-subscriber": crate.spec(
            version = "0.3",
        ),
    },
    splicing_config = splicing_config(
        resolver_version = "2",
    ),
)

load(
    "@no_cargo//:defs.bzl",
    no_cargo_crate_repositories = "crate_repositories",
)

no_cargo_crate_repositories()

###############################################################################
# V E N D O R   R E M O T E   M A N I F E S T S
###############################################################################

load(
    "//vendor_remote_manifests/crates:crates.bzl",
    crates_vendor_manifests_repositories = "crate_repositories",
)

crates_vendor_manifests_repositories()

###############################################################################
# V E N D O R   R E M O T E   P A C K A G E S
###############################################################################

load(
    "//vendor_remote_pkgs/crates:crates.bzl",
    crates_vendor_packages_repositories = "crate_repositories",
)

crates_vendor_packages_repositories()

###############################################################################

# Used for Bazel CI
http_archive(
    name = "bazel_toolchains",
    sha256 = "179ec02f809e86abf56356d8898c8bd74069f1bd7c56044050c2cd3d79d0e024",
    strip_prefix = "bazel-toolchains-4.1.0",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz",
        "https://github.com/bazelbuild/bazel-toolchains/releases/download/4.1.0/bazel-toolchains-4.1.0.tar.gz",
    ],
)

load("@bazel_toolchains//rules:rbe_repo.bzl", "rbe_autoconfig")

# Creates a default toolchain config for RBE.
# Use this as is if you are using the rbe_ubuntu16_04 container,
# otherwise refer to RBE docs.
rbe_autoconfig(name = "buildkite_config")
