Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: generate C++ rules #87

Merged
merged 1 commit into from
Nov 16, 2021

Conversation

coryan
Copy link
Member

@coryan coryan commented Nov 12, 2021

This adds support to generate the C++ rules for basic proto and gRPC
libraries.

/fyi: @devjgm @scotthart

This adds support to generate the C++ rules for basic proto and gRPC
libraries.
@coryan coryan requested a review from a team as a code owner November 12, 2021 15:52
@google-cla google-cla bot added the cla: yes This human has signed the Contributor License Agreement. label Nov 12, 2021
Copy link
Contributor

@noahdietz noahdietz left a comment

Choose a reason for hiding this comment

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

LGTM. @vam-google can you review/Approve please?

@vam-google vam-google self-requested a review November 16, 2021 08:53
Copy link
Contributor

@vam-google vam-google left a comment

Choose a reason for hiding this comment

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

LGTM, but please note that this will start adding C++ targets to everyting increasing build time.

Is there a way to add them conditionally, only when C++ rules a needed (if there is such signal at all in the input)?

@coryan
Copy link
Member Author

coryan commented Nov 16, 2021

Well, we are only interested in rules for Cloud services. We are planning to implement client libraries (generated) for all Cloud services. If there is a way to generate "just" for Cloud then let me know how, I would be happy to change the PR to do so.

Note: I cannot merge this PR myself.

@noahdietz
Copy link
Contributor

@vam-google if the goal is to generate for all Cloud services, that is a majority of APIs in googleapis. I'm not sure that gating generation of the C++ rules is worth the extra complexity. We'd need to add either another template for Cloud, or a conditional into the template (which we have avoided to date and I'd like to keep it that way personally).

I wonder if we are already paying the most expensive part of generating a new language - compilation of the dependencies/tools - since C++ tooling is already part of the WORKSPACE. Adding these grpc/proto rules probably won't increase things drastically (totally guessing though).

@noahdietz noahdietz merged commit e23c181 into googleapis:main Nov 16, 2021
@devjgm
Copy link

devjgm commented Nov 16, 2021

As @coryan mentioned, we do plan C++ libraries for ~every services, just the same as all the other supported languages. Ideally, I think C++ shouldn't be treated any differently than, say, Java.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants