Open up visibility for some compiler internals
https://github.com/protocolbuffers/protobuf/pull/9985 made all of our language-specific compiler code visibility-restricted in Bazel builds. While most of this code was intended to be internal, we never explicitly specified it. Specifically, gRPC (and likely other code generators) needs visibility into language-specific naming helpers.
This PR takes a middle-ground approach for our 22.x breaking release, only exposing what we think is reasonable for downstream codegen to reuse. Other alternatives open for discussion are:
- Make all of the compiler internals public again. This wouldn't break anyone, but is intentionally exposing a lot of code we intended to make private
- Keep all of the compiler internals private and have downstream teams branch any functionality they need. This would block gRPC's upgrade to our main branch, and require additional work from their end
This LGTM. We should get signoff from @jskeet and @thomasvl too since we're publicly exposing symbols in the C#/Obj-C generators. They may want to take a look in case there are any parts of those APIs they would want to clean up before making them officially public.
Good point, I'll add them thanks Josh!