1*882aa7c7SMatt Gilbride[](https://sonarcloud.io/summary/new_code?id=googleapis_gapic-generator-java) 2*882aa7c7SMatt Gilbride# API Client Generator for Java 3*882aa7c7SMatt Gilbride 4*882aa7c7SMatt GilbrideGenerates a Java client library from protocol buffers. 5*882aa7c7SMatt GilbrideReplaces the Java parts of the 6*882aa7c7SMatt Gilbride[older monolithic generator](https://github.com/googleapis/gapic-generator). 7*882aa7c7SMatt Gilbride 8*882aa7c7SMatt GilbrideSee [DEVELOPMENT.md](DEVELOPMENT.md) for setting up development environment. 9*882aa7c7SMatt Gilbride 10*882aa7c7SMatt Gilbride## service_config.proto 11*882aa7c7SMatt Gilbride 12*882aa7c7SMatt GilbrideWe use the `src/main/proto/service_config.proto` file to generate corresponding 13*882aa7c7SMatt GilbrideJava class files. 14*882aa7c7SMatt GilbrideThey are needed to generate client libraries for gRPC-based Google services. 15*882aa7c7SMatt Gilbride 16*882aa7c7SMatt GilbrideThe source of `src/main/proto/service_config.proto` is the 17*882aa7c7SMatt Gilbride[https://github.com/grpc/grpc-proto repository]( 18*882aa7c7SMatt Gilbridehttps://github.com/grpc/grpc-proto/blob/master/grpc/service_config/service_config.proto). 19*882aa7c7SMatt GilbrideWe copy the file from the repository when a new enhancement is made in the file 20*882aa7c7SMatt Gilbrideand the service team asks us to incorporate the enhancement into the code 21*882aa7c7SMatt Gilbridegenerator. 22