bazel-contrib / bazel-contrib/rules_python

Define wheel version via file/target

Open
#1,804 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Starlark
Stars
688
Forks
721
Avg merge
15h 7m
Merged PRs (30d)
76

Description

# 🚀 feature request

### Relevant Rules

* py_wheel

### Description

I would like use wheel version generated by other target.

### Describe the solution you'd like

```

my_version_generator(
name = "version"
...
)

py_wheel(
name = "foo",
version_file = ":version",
...
)
```

Solution should be a bit similiar to https://github.com/vaticle/bazel-distribution/blob/ebb4a9b342ec442c427705ec6a7919cce4c35c6e/maven/rules.bzl#L258

### Describe alternatives you've considered

* Generating version before build and passing via variable in volatile status. Solution is inconvenient for multiple modules and is against bazel design.

Contributor guide

Open the contributing guide

Research direction

Start by locating the py_wheel rule and reviewing how its current version is configured. Compare the requested version_file target behavior with the linked maven/rules.bzl example; done means a generated target can provide the wheel version, including support for multiple modules.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.