Change py_binary to load from rules_python - #235
Conversation
To follow the (future) migration of the python rules out of the set of native rules: bazelbuild/bazel#17773 . This requires us to load the 'rules_python' module and while at it we parameterize the 'py_binary' so it is possible for consumers to switch to their own macros, following the model of pip_compile: https://github.com/bazelbuild/rules_python/blob/9b2b70adba5431162401a97b2bbab1dc938e7245/python/private/pypi/pip_compile.bzl#L32 This solves loading errors: ERROR: Traceback (most recent call last): File "/home/nwirekli/.cache/bazel/_bazel_nwirekli/1eeb85843c9866d288d7d5644c3b4615/ external/hedron_compile_commands+/refresh_compile_commands.bzl", line 67, column 27, in <toplevel> py_binary = native.py_binary, Error: no native function or rule 'py_binary' Available attributes: ... ERROR: error loading package under directory '': error loading package '@@hedron_compile_commands+//': initialization of module 'refresh_compile_commands.bzl' failed
059ae12 to
c8c0afe
Compare
|
I think this is only needed because we use |
|
this will be required for bazel 9.x bazelbuild/bazel@0522f8e, so probably want to merge this soon since that's ~2 months away |
|
any updates on this? currently we overcome this with a patch |
|
I am not actively working on it, but it stands to reason that this, or something rebased should be merged, yes :) |
|
Hi — since upstream has been quiet for some time, the fork at https://github.com/helly25/bazel-compile-commands-extractor has picked up the Backported in helly25#1. Thanks for the original patch. |
To follow the (future) migration of the python rules out of the set of native rules: bazelbuild/bazel#17773 . This requires us to load the 'rules_python' module and while at it we parameterize the 'py_binary' so it is possible for consumers to switch to their own macros, following the model of pip_compile: https://github.com/bazelbuild/rules_python/blob/9b2b70adba5431162401a97b2bbab1dc938e7245/python/private/pypi/pip_compile.bzl#L32
This solves loading errors: