load("@bazel_skylib//rules:diff_test.bzl", "diff_test")
load("@bazel_skylib//rules:write_file.bzl", "write_file")
load(
    "@pip//:requirements.bzl",
    "data_requirement",
    "dist_info_requirement",
    "entry_point",
    "requirement",
)
load("@rules_python//python:defs.bzl", "py_binary", "py_test")
load("@rules_python//python:pip.bzl", "compile_pip_requirements")

# Toolchain setup, this is optional.
# Demonstrate that we can use the same python interpreter for the toolchain and executing pip in pip install (see WORKSPACE).
#
#load("@rules_python//python:defs.bzl", "py_runtime_pair")
#
#py_runtime(
#    name = "python3_runtime",
#    files = ["@python_interpreter//:files"],
#    interpreter = "@python_interpreter//:python_bin",
#    python_version = "PY3",
#    visibility = ["//visibility:public"],
#)
#
#py_runtime_pair(
#    name = "my_py_runtime_pair",
#    py2_runtime = None,
#    py3_runtime = ":python3_runtime",
#)
#
#toolchain(
#    name = "my_py_toolchain",
#    toolchain = ":my_py_runtime_pair",
#    toolchain_type = "@bazel_tools//tools/python:toolchain_type",
#)
# End of toolchain setup.

py_binary(
    name = "main",
    srcs = ["main.py"],
    deps = [
        requirement("boto3"),
    ],
)

py_test(
    name = "test",
    srcs = ["test.py"],
    deps = [":main"],
)

# For pip dependencies which have entry points, the `entry_point` macro can be
# used from the generated `pip_install` repository to access a runnable binary.

alias(
    name = "yamllint",
    actual = entry_point("yamllint"),
)

# Check that our compiled requirements are up-to-date
compile_pip_requirements(
    name = "requirements",
    extra_args = ["--allow-unsafe"],
    requirements_windows = ":requirements_windows.txt",
)

# Test the use of all pip_install utilities in a single py_test
py_test(
    name = "pip_install_test",
    srcs = ["pip_install_test.py"],
    data = [
        ":yamllint",
        data_requirement("s3cmd"),
        dist_info_requirement("boto3"),
    ],
    env = {
        "WHEEL_DATA_CONTENTS": "$(rootpaths {})".format(data_requirement("s3cmd")),
        "WHEEL_DIST_INFO_CONTENTS": "$(rootpaths {})".format(dist_info_requirement("boto3")),
        "YAMLLINT_ENTRY_POINT": "$(rootpath :yamllint)",
    },
    deps = ["@rules_python//python/runfiles"],
)

# Assert that tags are present on resulting py_library,
# which is useful for tooling that needs to reflect on the dep graph
# to determine the packages it was built from.
genquery(
    name = "yamllint_lib_by_version",
    expression = """
    attr("tags", "\\bpypi_version=1.26.3\\b", "@pip_yamllint//:pkg")
    intersect
    attr("tags", "\\bpypi_name=yamllint\\b", "@pip_yamllint//:pkg")
    """,
    scope = [requirement("yamllint")],
)

write_file(
    name = "write_expected",
    out = "expected",
    content = [
        "@pip_yamllint//:pkg",
        "",
    ],
)

diff_test(
    name = "test_query_result",
    file1 = "expected",
    file2 = "yamllint_lib_by_version",
)
