Hello Scala community,
we have recently discovered that it is currently impossible to shade and relocate scala libraries. We have tried tools for gradle and sbt.
We found out that this problem is related to the fact that the Scala compiler adds the
ScalaLongSignature annotations, of which none of the shading libraries we found seem to be aware of.
Since we are in dire need of a working shading/relocation method, we set out to write a tool, which would fix these annotations. We found prior work in https://github.com/hutkev/ScalaShade. However
ScalaShade is written in Java and uses none of the existing Scala tooling such as
We are now interested in finding information and documentation about the exact format of the ScalaSignature annotations. We think we know how to parse and possibly transform some of the signature elements, but we do not know what all of them represent. This makes it hard for us to become confident in our tools ability to solve the problem in a general and maintainable way.
The only documentation we found so far is
scala.reflect.internal.pickling.PickleFormat as well as this document.
Any help in finding information would be highly appreciated.
Our current progress can be tracked here: https://github.com/opencypher/morpheus/pull/913
Thanks in advance!
Max Kießling for the openCypher Morpheus Team