# Copyright 2018 The Bazel Authors. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

load("@bazel_skylib//rules:build_test.bzl", "build_test")
load("//examples/wheel/private:wheel_utils.bzl", "directory_writer", "make_variable_tags")
load("//python:defs.bzl", "py_library", "py_test")
load("//python:packaging.bzl", "py_package", "py_wheel")
load("//python:versions.bzl", "gen_python_config_settings")

package(default_visibility = ["//visibility:public"])

licenses(["notice"])  # Apache 2.0

py_library(
    name = "main",
    srcs = ["main.py"],
    deps = [
        "//examples/wheel/lib:simple_module",
        "//examples/wheel/lib:module_with_data",
        # Example dependency which is not packaged in the wheel
        # due to "packages" filter on py_package rule.
        "//tests/load_from_macro:foo",
    ],
)

py_library(
    name = "main_with_gen_data",
    srcs = ["main.py"],
    data = [
        ":gen_dir",
    ],
)

directory_writer(
    name = "gen_dir",
    out = "someDir",
    files = {"foo.py": ""},
)

# Package just a specific py_libraries, without their dependencies
py_wheel(
    name = "minimal_with_py_library",
    testonly = True,  # Set this to verify the generated .dist target doesn't break things
    # Package data. We're building "example_minimal_library-0.0.1-py3-none-any.whl"
    distribution = "example_minimal_library",
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    python_tag = "py3",
    version = "0.0.1",
    deps = [
        "//examples/wheel/lib:module_with_data",
        "//examples/wheel/lib:simple_module",
    ],
)

# Populate a rule with "Make Variable" arguments for
# abi, python_tag and version. You might want to do this
# for the following use cases:
#  - abi, python_tag: introspect a toolchain to map to appropriate cpython tags
#  - version: populate given this or a dependent module's version
make_variable_tags(
    name = "make_variable_tags",
)

py_wheel(
    name = "minimal_with_py_library_with_make_variables",
    testonly = True,
    abi = "$(ABI)",
    distribution = "example_minimal_library",
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    python_tag = "$(PYTHON_TAG)",
    toolchains = ["//examples/wheel:make_variable_tags"],
    version = "$(VERSION)",
    deps = [
        "//examples/wheel/lib:module_with_data",
        "//examples/wheel/lib:simple_module",
    ],
)

build_test(
    name = "dist_build_tests",
    targets = [":minimal_with_py_library.dist"],
)

# Package just a specific py_libraries, without their dependencies
py_wheel(
    name = "minimal_with_py_library_with_stamp",
    # Package data. We're building "example_minimal_library-0.0.1-py3-none-any.whl"
    distribution = "example_minimal_library{BUILD_USER}",
    incompatible_normalize_name = False,
    incompatible_normalize_version = False,
    python_tag = "py3",
    stamp = 1,
    version = "0.1.{BUILD_TIMESTAMP}",
    deps = [
        "//examples/wheel/lib:module_with_data",
        "//examples/wheel/lib:simple_module",
    ],
)

# Use py_package to collect all transitive dependencies of a target,
# selecting just the files within a specific python package.
py_package(
    name = "example_pkg",
    # Only include these Python packages.
    packages = ["examples.wheel"],
    deps = [":main"],
)

py_package(
    name = "example_pkg_with_data",
    packages = ["examples.wheel"],
    deps = [":main_with_gen_data"],
)

py_wheel(
    name = "minimal_with_py_package",
    # Package data. We're building "example_minimal_package-0.0.1-py3-none-any.whl"
    distribution = "example_minimal_package",
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    python_tag = "py3",
    version = "0.0.1",
    deps = [":example_pkg"],
)

# An example that uses all features provided by py_wheel.
py_wheel(
    name = "customized",
    author = "Example Author with non-ascii characters: żółw",
    author_email = "example@example.com",
    classifiers = [
        "License :: OSI Approved :: Apache Software License",
        "Intended Audience :: Developers",
    ],
    console_scripts = {
        "customized_wheel": "examples.wheel.main:main",
    },
    description_file = "README.md",
    # Package data. We're building "example_customized-0.0.1-py3-none-any.whl"
    distribution = "example_customized",
    entry_points = {
        "console_scripts": ["another = foo.bar:baz"],
        "group2": [
            "second = second.main:s",
            "first = first.main:f",
        ],
    },
    extra_distinfo_files = {
        "//examples/wheel:NOTICE": "NOTICE",
        # Rename the file when packaging to show we can.
        "//examples/wheel:README.md": "README",
    },
    homepage = "www.example.com",
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    license = "Apache 2.0",
    project_urls = {
        "Bug Tracker": "www.example.com/issues",
        "Documentation": "www.example.com/docs",
    },
    python_tag = "py3",
    # Requirements embedded into the wheel metadata.
    requires = ["pytest"],
    summary = "A one-line summary of this test package",
    version = "0.0.1",
    deps = [":example_pkg"],
)

# An example of how to change the wheel package root directory using 'strip_path_prefixes'.
py_wheel(
    name = "custom_package_root",
    # Package data. We're building "examples_custom_package_root-0.0.1-py3-none-any.whl"
    distribution = "examples_custom_package_root",
    entry_points = {
        "console_scripts": ["main = foo.bar:baz"],
    },
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    python_tag = "py3",
    strip_path_prefixes = [
        "examples",
    ],
    version = "0.0.1",
    deps = [
        ":example_pkg",
    ],
)

py_wheel(
    name = "custom_package_root_multi_prefix",
    # Package data. We're building "custom_custom_package_root_multi_prefix-0.0.1-py3-none-any.whl"
    distribution = "example_custom_package_root_multi_prefix",
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    python_tag = "py3",
    strip_path_prefixes = [
        "examples/wheel/lib",
        "examples/wheel",
    ],
    version = "0.0.1",
    deps = [
        ":example_pkg",
    ],
)

py_wheel(
    name = "custom_package_root_multi_prefix_reverse_order",
    # Package data. We're building "custom_custom_package_root_multi_prefix_reverse_order-0.0.1-py3-none-any.whl"
    distribution = "example_custom_package_root_multi_prefix_reverse_order",
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    python_tag = "py3",
    strip_path_prefixes = [
        "examples/wheel",
        "examples/wheel/lib",  # this is not effective, because the first prefix takes priority
    ],
    version = "0.0.1",
    deps = [
        ":example_pkg",
    ],
)

py_wheel(
    name = "python_requires_in_a_package",
    distribution = "example_python_requires_in_a_package",
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    python_requires = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
    python_tag = "py3",
    version = "0.0.1",
    deps = [
        ":example_pkg",
    ],
)

py_wheel(
    name = "use_rule_with_dir_in_outs",
    distribution = "use_rule_with_dir_in_outs",
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    python_tag = "py3",
    version = "0.0.1",
    deps = [
        ":example_pkg_with_data",
    ],
)

gen_python_config_settings()

py_wheel(
    name = "python_abi3_binary_wheel",
    abi = "abi3",
    distribution = "example_python_abi3_binary_wheel",
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    # these platform strings must line up with test_python_abi3_binary_wheel() in wheel_test.py
    platform = select({
        ":aarch64-apple-darwin": "macosx_11_0_arm64",
        ":aarch64-unknown-linux-gnu": "manylinux2014_aarch64",
        ":x86_64-apple-darwin": "macosx_11_0_x86_64",  # this is typically macosx_10_9_x86_64?
        ":x86_64-pc-windows-msvc": "win_amd64",
        ":x86_64-unknown-linux-gnu": "manylinux2014_x86_64",
    }),
    python_requires = ">=3.8",
    python_tag = "cp38",
    version = "0.0.1",
)

py_wheel(
    name = "legacy_filename_escaping",
    # Per https://www.python.org/dev/peps/pep-0427/#escaping-and-unicode
    # runs of non-alphanumeric, non-digit symbols should be replaced with a single underscore.
    # Unicode non-ascii letters should *not* be replaced with underscore.
    distribution = "file~~name-escaping",
    incompatible_normalize_name = False,
    incompatible_normalize_version = False,
    python_tag = "py3",
    version = "0.0.1-r7",
    deps = [":example_pkg"],
)

py_wheel(
    name = "filename_escaping",
    # Per https://packaging.python.org/en/latest/specifications/binary-distribution-format/#escaping-and-unicode
    # runs of "-", "_" and "." should be replaced with a single underscore.
    # Unicode non-ascii letters aren't allowed according to
    # https://packaging.python.org/en/latest/specifications/name-normalization/.
    distribution = "File--Name-Escaping",
    incompatible_normalize_name = True,
    incompatible_normalize_version = True,
    python_tag = "py3",
    version = "v0.0.1.RC1+ubuntu-r7",
    deps = [":example_pkg"],
)

py_test(
    name = "wheel_test",
    srcs = ["wheel_test.py"],
    data = [
        ":custom_package_root",
        ":custom_package_root_multi_prefix",
        ":custom_package_root_multi_prefix_reverse_order",
        ":customized",
        ":filename_escaping",
        ":legacy_filename_escaping",
        ":minimal_with_py_library",
        ":minimal_with_py_library_with_stamp",
        ":minimal_with_py_package",
        ":python_abi3_binary_wheel",
        ":python_requires_in_a_package",
        ":use_rule_with_dir_in_outs",
    ],
    deps = [
        "//python/runfiles",
    ],
)
