[scala] Hey! We started introducing a scalac plugi...
# general
f
[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?
From what I can tell checking the source, the classpath is constructed from all dependencies, of which plugins are part of, but there's no distinction between plugin or otherwise before passing it on
b
Thanks for asking. I think @fast-nail-55400 might be the person to help here, and I'm lead to believe you're already in touch with them
1