Merge pull request #23840 from grpc/vjpai-patch-1
Explain this directory's existencepull/23848/head
commit
d0db485b0a
1 changed files with 21 additions and 0 deletions
@ -0,0 +1,21 @@ |
|||||||
|
# Welcome to `impl/codegen` |
||||||
|
|
||||||
|
## Why is this directory here? |
||||||
|
|
||||||
|
This directory exists so that generated code can include selected files upon |
||||||
|
which it depends without having to depend on the entire gRPC C++ library. This |
||||||
|
is particularly relevant for users of bazel, particularly if they use the |
||||||
|
multi-lingual `proto_library` target type. Generated code that uses this target |
||||||
|
only depends on the gRPC C++ targets associated with these header files, not the |
||||||
|
entire gRPC C++ codebase since that would make the build time of these types of |
||||||
|
targets excessively large (particularly when they are not even C++ specific). |
||||||
|
|
||||||
|
## What should user code do? |
||||||
|
|
||||||
|
User code should *not* include anything from this directory. Only generated code |
||||||
|
and gRPC library code should include contents from this directory. User code |
||||||
|
should instead include contents from the main `grpcpp` directory or its |
||||||
|
accessible subcomponents like `grpcpp/support`. It is possible that we may |
||||||
|
remove this directory altogether if the motivations for its existence are no |
||||||
|
longer strong enough (e.g., if most users migrate away from the `proto_library` |
||||||
|
target type or if the additional overhead of depending on gRPC C++ is not high). |
Loading…
Reference in new issue