Summary
In this chapter, we looked at what Protobuf custom options and protoc plugins are. We saw that they work in pairs to achieve some kind of generation (code, documentation, etc.). We then saw how to develop a plugin in Golang and how to make it configurable. Finally, we applied our knowledge of the AddressBook
project to validate user input.
In the next chapter, we will go over the different ways to build projects that use Protobuf. We will talk about how to build a project manually, with Buf and Bazel.