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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[grpc] Use protos and binaries from requirements googleapis and grpc-proto (RFC) #12062

Merged
merged 15 commits into from
Aug 16, 2022

Conversation

jgsogo
Copy link
Contributor

@jgsogo jgsogo commented Aug 5, 2022

Here I'm proposing some patches to consume headers and libraries from googleapis and grpc-proto instead of generating and building them in grpc itself. In any case there are some protos that need to be generated while building grpc because they use grpc_cpp_plugin (utility like protoc) that is built in the grpc project.

With this approach, I try to prevent ODR violations when consumers of grpc need to use some protos from googleapis (I'm looking at you, google-cloud-cpp project). It will also ensure that all the graph is using the same protos (and files generated from them).

Finally, the patches were not as complicated as I had feared 馃槂


Big question: is it worth the effort? Is it adding too much complexity to the project?


TODO:

@conan-center-bot

This comment has been minimized.

@ericLemanissierBot
Copy link

ericLemanissierBot commented Aug 5, 2022

I detected other pull requests that are modifying grpc/all recipe:

This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

All green in build 7 (3be57705260db42696b3be9ed4a2a1cd3a255203):

  • grpc/1.48.0@:
    All packages built successfully! (All logs)

    馃敻 Informative: This recipe is not ready for Conan v2

    We have started the migration process to Conan v2 and exporting recipes successfully will be required in the future.
    This is just an informative note to gain awareness about the process, no need to take any action. The plan is to enforce smaller steps that are easier to fix and, eventually, this conan export step will work.
    See the recipe migration guide to know more about the changes required.

    ERROR: Error loading conanfile at '/home/conan/w/prod_cci_PR-12062/recipes/grpc/all/conanfile.py': Unable to load conanfile in /home/conan/w/prod_cci_PR-12062/recipes/grpc/all/conanfile.py
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/conan/w/prod_cci_PR-12062/recipes/grpc/all/conanfile.py", line 4, in <module>
        from conans import ConanFile, CMake, tools as tools_legacy
    ImportError: cannot import name 'ConanFile' from 'conans' (/opt/pyenv/versions/3.7.13/lib/python3.7/site-packages/conans/__init__.py)
    
  • grpc/1.46.3@:
    All packages built successfully! (All logs)

    馃敻 Informative: This recipe is not ready for Conan v2

    We have started the migration process to Conan v2 and exporting recipes successfully will be required in the future.
    This is just an informative note to gain awareness about the process, no need to take any action. The plan is to enforce smaller steps that are easier to fix and, eventually, this conan export step will work.
    See the recipe migration guide to know more about the changes required.

    ERROR: Error loading conanfile at '/home/conan/w/prod_cci_PR-12062/recipes/grpc/all/conanfile.py': Unable to load conanfile in /home/conan/w/prod_cci_PR-12062/recipes/grpc/all/conanfile.py
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/conan/w/prod_cci_PR-12062/recipes/grpc/all/conanfile.py", line 4, in <module>
        from conans import ConanFile, CMake, tools as tools_legacy
    ImportError: cannot import name 'ConanFile' from 'conans' (/opt/pyenv/versions/3.7.13/lib/python3.7/site-packages/conans/__init__.py)
    
  • grpc/1.47.1@:
    All packages built successfully! (All logs)

    馃敻 Informative: This recipe is not ready for Conan v2

    We have started the migration process to Conan v2 and exporting recipes successfully will be required in the future.
    This is just an informative note to gain awareness about the process, no need to take any action. The plan is to enforce smaller steps that are easier to fix and, eventually, this conan export step will work.
    See the recipe migration guide to know more about the changes required.

    ERROR: Error loading conanfile at '/home/conan/w/prod_cci_PR-12062/recipes/grpc/all/conanfile.py': Unable to load conanfile in /home/conan/w/prod_cci_PR-12062/recipes/grpc/all/conanfile.py
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/conan/w/prod_cci_PR-12062/recipes/grpc/all/conanfile.py", line 4, in <module>
        from conans import ConanFile, CMake, tools as tools_legacy
    ImportError: cannot import name 'ConanFile' from 'conans' (/opt/pyenv/versions/3.7.13/lib/python3.7/site-packages/conans/__init__.py)
    

@conan-center-bot conan-center-bot merged commit a548ee7 into conan-io:master Aug 16, 2022
@jgsogo jgsogo deleted the grpc/use-proto-binaries branch August 16, 2022 08:54
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.

None yet

5 participants