fix for https://github.com/bazelbuild/bazel/issues/3998
diff --git a/tools/wheel_tool.py b/tools/wheel_tool.py
index 2cd37a4..5defc7a 100644
--- a/tools/wheel_tool.py
+++ b/tools/wheel_tool.py
@@ -12,7 +12,7 @@
# Normalises package names to be used in Bazel labels.
def sanitise_package(name):
- return name.replace("-", "_").lower()
+ return "pypi__" + name.replace("-", "_").lower()
class Wheel(object):
@@ -67,6 +67,9 @@
name = "pkg",
srcs = glob(["**/*.py"]),
data = glob(["**/*"], exclude=["**/*.py", "**/* *", "BUILD", "WORKSPACE"]),
+ # This makes this directory a top-level in the python import
+ # search path for anything that depends on this.
+ imports = ["."],
deps = [{dependencies}],
)
@@ -135,7 +138,7 @@
subprocess.check_output([sys.executable, "-m", "pip", "wheel", "-r", args.requirements])
for whl_file in glob.glob("*.whl"):
- whl_dir = str(whl_file).lower().split("-")[0]
+ whl_dir = "pypi__" + str(whl_file).lower().split("-")[0]
os.mkdir(whl_dir)
wheel = Wheel(whl_file)
@@ -156,7 +159,7 @@
def requirement(name):
name_key = name.replace("-", "_").lower()
- return "{repo}//" + name_key + ":pkg"
+ return "{repo}//pypi__" + name_key + ":pkg"
""".format(
repo=args.repo, requirement_labels=targets
)