Skip to content

py_wheel does not propagate "visibility" attribute to the "publish" rule #1192

Closed
@alokpr

Description

@alokpr

🐞 bug report

Affected Rule

py_wheel

Is this a regression?

Not a regression. Publishing a wheel is a new feature in version 0.19 which is broken

Description

The visibility attribute on py_wheel target is not propagated to the auto-generated "publish" target.

🔬 Minimal Reproduction

$ cat A/BUILD.bazel

py_wheel(
    name = "foo",
    distribution = "foo",
    visibility = ["//visibility:public"],
)

$ cat B/BUILD.bazel

load("@rules_multirun//:defs.bzl", "multirun")

multirun(
    name = "wheels.publish",
    commands = [
        "//A:foo.publish",
    ]
)

🔥 Exception or Error


bazel run //B:wheels.publish
ERROR: B/BUILD.bazel: in multirun rule //:wheels.publish: target '//A.publish' is not visible from target '//:wheels.publish'. Check the visibility declaration of the former target if you think the dependency is legitimate
ERROR: B/BUILD.bazel: Analysis of target '//:wheels.publish' failed
ERROR: Analysis of target '//:wheels.publish' failed; build aborted:

🌍 Your Environment

Operating System:

  
Ubuntu 22.04
  

Output of bazel version:

  
Build label: 5.4.0
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Thu Dec 15 16:14:25 2022 (1671120865)
Build timestamp: 1671120865
Build timestamp as int: 1671120865
  

Rules_python version:

  
0.19
  

Anything else relevant?

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