Skip to content

Incorrect wheel filename for distribution names with hyphen #517

Closed
@alokpr

Description

@alokpr

🐞 bug report

Affected Rule

The issue is caused by the rule: py_wheel

Is this a regression?

No

Description

The convention for wheel filename is {distribution}-{version}-{python tag}-{abi tag}-{platform tag}.whl as documented here:
https://www.python.org/dev/peps/pep-0491/#file-name-convention

Each component of the filename is escaped by replacing runs of non-alphanumeric characters with an underscore as documented here:
https://www.python.org/dev/peps/pep-0491/#escaping-and-unicode

rules_python does not replace non-alphanumeric characters with underscore.

🔬 Minimal Reproduction


py_wheel(
    name = "my_wheel",
    distribution = "foo-bar",
    abi = "cp37m",
    platform = "manylinux_2_27_x86_64,
    python_tag = "cp37",
    version = "0.1.0",
)

EXPECTED: foo_bar-0.1.0-cp37-cp37m-manylinux_2_27_x86_64.whl
ACTUAL: foo-bar-0.1.0-cp37-cp37m-manylinux_2_27_x86_64.whl

🌍 Your Environment

Output of bazel version:

  
Build label: 4.1.0
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Fri May 21 11:11:34 2021 (1621595494)
Build timestamp: 1621595494
Build timestamp as int: 1621595494
  

Rules_python version:

  
0.3.0
  

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions