bazel-contrib / bazel-contrib/rules_python

[gazelle] Adjust how `imports` is auto-generated

Aperta
#2,144 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
gazelle help wanted
Lingua principale
Starlark
Stelle
688
Fork
721
Merge medio
15h 7m
PR unite (30g)
76

Descrizione

Discussion moved from an internal doc and discussion with @rickeylev:

> Externally, the Bazel Python rules have an attribute named `imports`. This is a string list of repo-relative paths that should be added to `sys.path`.

@dougthor42 writes in a comment:

> FYI: With gazelle's `python_root` directive, these are autogenerated as package-relative paths, eg `["../../.."]`.
>
> Now that I see [that `imports` is repo-relative], I might submit a PR to change Gazelle to generate repo-relative paths.

@rickeylev replies:

> Hm. Is package-relative better than repo-relative? Quick thought is: they both have pros and cons.
> Which makes me think: is there something that has all pros and no cons?
> To which I think: maybe we can change the logic to more directly express what we're after.
> When src/my_package says "add .. to path", what it really means is: make sure sys.path has a directory with "my_package" as a sub directory.
> So maybe instead we add a top_level_package_name attribute? Under the hood, a quick implementation would be to just do "compute the correct imports attr value automatically". A better impl for the future would be to ensure that some directory with the desired name ends up in sys.path, however that may come to be.
>
> Thanks for the inspiration :)

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.