blob: 19d7804c06dbfab7117a7a485cf6dc3c90c8f74d [file] [log] [blame]
# Copyright 2019 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("//python:defs.bzl", "py_binary", "py_library")
load("//python:packaging.bzl", "py_wheel")
filegroup(
name = "distribution",
srcs = glob(["**"]),
visibility = ["//python:__pkg__"],
)
py_library(
name = "runfiles",
srcs = [
"__init__.py",
"runfiles.py",
],
visibility = ["//visibility:public"],
)
# This can be manually tested by running tests/runfiles/runfiles_wheel_integration_test.sh
# We ought to have an automated integration test for it, too.
# see https://github.com/bazelbuild/rules_python/issues/1002
py_wheel(
name = "wheel",
# From https://pypi.org/classifiers/
classifiers = [
"Development Status :: 5 - Production/Stable",
"License :: OSI Approved :: Apache Software License",
],
description_file = "README.rst",
dist_folder = "dist",
distribution = "bazel_runfiles",
homepage = "https://github.com/bazelbuild/rules_python",
strip_path_prefixes = ["python"],
# this can be replaced by building with --stamp --embed_label=1.2.3
version = "{BUILD_EMBED_LABEL}",
visibility = ["//visibility:public"],
deps = [":runfiles"],
)
# TODO(alexeagle): carry forward #1015 to make this part of the py_wheel macro
# Typical command-line to run this:
# TWINE_USERNAME=__token__ TWINE_PASSWORD=pypi-*** \
# bazel run --stamp --embed_label=1.2.4 -- \
# //python/runfiles:wheel.publish --repository testpypi
py_binary(
name = "wheel.publish",
srcs = ["@publish_deps_twine//:rules_python_wheel_entry_point_twine.py"],
args = [
"upload",
"$(rootpath :wheel.dist)/*",
],
data = [":wheel.dist"],
imports = ["."],
main = "@publish_deps_twine//:rules_python_wheel_entry_point_twine.py",
deps = ["@publish_deps_twine//:pkg"],
)