see this is where i realize i’m out of my depth because i wasn’t thinking of shading at all — but it’s probably implied at some point in the process maybe then? one thing i didn’t mention is that finatra at least doesn’t share any code between the normal and test jars (i have not checked this, but i get NoClassDefFound or access violations if i try to do anything but depend on that big list of explicit pinned versions
in addition to the normal jars — maybe there’s shading happening here i’m not seeing). the only definition of “compatibility” i was thinking of is the same definition that is already used, but to prefer a version of a package with e.g. a
tests
classifier if the root package has that and is in the same org (there could be many further knobs but that seems reasonable to start). this would follow the same version dependencies that are declared in the pom.