A lot of the recent issues/bugs in this project have stemmed from some breaking changes in the library code of protoc-gen-go (eg, #24 & #25). After talking with the team that maintains PGG, they make no guarantees about the stability of its generator's API, and should be treated as internal to the package (and ideally, made internal to prevent its use).
So, to address this, I've almost completed work on a patch that removes the hard PGG dependency from PG*, with the exception of the pre-generated proto-descriptors needed to handle the IO between protoc and a plugin.
What this means
There will be significant breaking changes to the existing API to remove anything specific to Go as well as anything specific to PGG, namely references to the generator package. All Go-specific information will be relocated to a subpackage as helper functions. This has the added benefit of opening up the project to more subpackages that provide support for other language targets, however.
A lot of the recent issues/bugs in this project have stemmed from some breaking changes in the library code of protoc-gen-go (eg, #24 & #25). After talking with the team that maintains PGG, they make no guarantees about the stability of its generator's API, and should be treated as internal to the package (and ideally, made
internalto prevent its use).So, to address this, I've almost completed work on a patch that removes the hard PGG dependency from PG*, with the exception of the pre-generated proto-descriptors needed to handle the IO between protoc and a plugin.
What this means
There will be significant breaking changes to the existing API to remove anything specific to Go as well as anything specific to PGG, namely references to the
generatorpackage. All Go-specific information will be relocated to a subpackage as helper functions. This has the added benefit of opening up the project to more subpackages that provide support for other language targets, however.