Skip to content

Conversation

@mbeards
Copy link
Contributor

@mbeards mbeards commented Sep 8, 2021

No description provided.

@gnossen gnossen self-requested a review September 8, 2021 22:09
@gnossen gnossen self-assigned this Sep 8, 2021
Copy link
Contributor

@gnossen gnossen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting the time into writing this up. I think it's unlikely that anyone will complain, but better safe than sorry.

@mbeards mbeards changed the title L81: Start new gRFC for aspect-based python bazel rules L86: Start new gRFC for aspect-based python bazel rules Sep 8, 2021
* The aspect produces a custom [providers](https://docs.bazel.build/versions/main/skylark/rules.html#providers) `PyProtoInfo` that wraps a `PyInfo` provider to avoid creating spurious dependencies for Python users that interface with the `proto_library` rules through some other means.
* The `py_proto_library` and `py_grpc_library` rules will only be responsible for collecting the `PyInfo` providers from their dependencies.
* The `plugin` attribute must be removed from `py_proto_library`. Aspects require the declaration of all possible parameter values up front, so it would not be possible for the new aspects to continue supporting arbitrary plugins. (Note that the plugin feature is not used in gRPC. It was introduced to support [GAPIC](https://github.com/googleapis/gapic-generator-python), which no longer uses the feature.)
* No behavior change should be observed by the user of `py_proto_library` or `py_grpc_library` unless they rely on the (removed) `plugin` attribute.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might want to note this in v1.41.x release note.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anything additional to mention in the gRFC? Or should this be addressed in the implementation PR?

@gnossen gnossen mentioned this pull request Sep 21, 2021
@mbeards
Copy link
Contributor Author

mbeards commented Sep 25, 2021

I'm going to pause on this for a bit - there are enough open questions in-flight around import paths that I suspect a multi-step approach is going to be needed if we want to land a change like this.

@mbeards
Copy link
Contributor Author

mbeards commented Oct 19, 2021

I made a few minor revs here - I think we're ready to go now that the implementation is in good shape.

@gnossen gnossen merged commit 5060330 into grpc:master Oct 21, 2021
@gnossen gnossen changed the title L86: Start new gRFC for aspect-based python bazel rules L86: aspect-based python bazel rules Oct 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants