workspace(name = "examples_python")

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

# The local_repository() rule is used below because the workspaces referenced
# are all located within the Tink git repository.
#
# To replicate this setup in a workspace located in a separate repository, you
# can use the equivalent, commented-out http_archive() rules below as a
# starting point.
#
# See the Tink Python HOW-TO for more details:
#   https://github.com/google/tink/blob/master/docs/PYTHON-HOWTO.md

local_repository(
    name = "tink_py",
    path = "../../python",
)
# http_archive(
#     name = "tink_py",
#     urls = ["https://github.com/google/tink/archive/master.zip"],
#     strip_prefix = "tink-master/python",
# )

local_repository(
    name = "tink_cc",
    path = "../../cc",
)
# http_archive(
#     name = "tink_cc",
#     urls = ["https://github.com/google/tink/archive/master.zip"],
#     strip_prefix = "tink-master/cc",
# )

local_repository(
    name = "tink_cc_awskms",
    path = "../../cc/integration/awskms",
)
# http_archive(
#     name = "tink_cc_awskms",
#     urls = ["https://github.com/google/tink/archive/master.zip"],
#     strip_prefix = "tink-master/cc/integration/awskms",
# )

local_repository(
    name = "tink_cc_gcpkms",
    path = "../../cc/integration/gcpkms",
)
# http_archive(
#     name = "tink_cc_gcpkms",
#     urls = ["https://github.com/google/tink/archive/master.zip"],
#     strip_prefix = "tink-master/cc/integration/gcpkms",
# )

# Load Tink dependencies.

load("@tink_py//:tink_py_deps.bzl", "tink_py_deps")

tink_py_deps()

load("@tink_py//:tink_py_deps_init.bzl", "tink_py_deps_init")

tink_py_deps_init("tink_py")

load("@tink_cc//:tink_cc_deps.bzl", "tink_cc_deps")

tink_cc_deps()

load("@tink_cc//:tink_cc_deps_init.bzl", "tink_cc_deps_init")

tink_cc_deps_init()

load("@tink_cc_awskms//:tink_cc_awskms_deps.bzl", "tink_cc_awskms_deps")

tink_cc_awskms_deps()

load("@tink_cc_gcpkms//:tink_cc_gcpkms_deps.bzl", "tink_cc_gcpkms_deps")

tink_cc_gcpkms_deps()

load("@tink_cc_gcpkms//:tink_cc_gcpkms_deps_init.bzl", "tink_cc_gcpkms_deps_init")

tink_cc_gcpkms_deps_init()

load("@rules_python//python:pip.bzl", "pip_install")

pip_install(
    name = "pip_deps",
    requirements = "@examples_python//:requirements.txt",
)
