enso-org / enso

Hybrid visual and textual functional programming.
https://enso.org
Apache License 2.0
7.31k stars 317 forks source link

Test class duplication between our Jar archives #10316

Open Akirathan opened 1 week ago

Akirathan commented 1 week ago

We have two main JAR archives in our distribution - runner.jar and runtime.jar. Let's add an automated test that will reveal any class duplication that is not allowed. Classes from both these jars are loaded by different class loaders, so if there are any unnecessary duplications, we will end up with the same class loaded twice in the JVM's metaspace.

We can write this test in Enso (e.g., in Examples_Test). Revealing the location of these JARs can be done similarly to how we search for the enso binary in our Python example test

Akirathan commented 1 week ago

Recently, @hubertp discovered that there is duplication of io.circe and cats classes in both these JARs, which is visible in the startup profiling.