[scala] Hey! We started introducing a scalac plugin (semanticdb) using pants scalac plugin support. However, it also pulls the plugin jar into the runtime classpath of whatever is build with the plugin enabled.
We ran into some significant issues with this due to having services built with this plugin enabled also using protobuf on their own, and those being transiently incompatible. It also happens to pull it in on the classpath at a position to override whatever is the actually dependency of the compiled source, causing runtime errors in the end.
Why are plugins added to the classpath as if they are runtime dependencies? Literally removing plugins from it solved our problem while kept the plugin working fine. Anything known in this area already?