spark-core depends on spark-tags (compile scope) which depends on scalatest (compile scope), so spark-core leaks test-deps into downstream libraries' "compile"-scope classpath.
The cause is that spark-core has logical "test->test" and "compile->compile" dependencies on spark-tags, but spark-tags publishes both its test-oriented and non-test-oriented bits in its default ("compile") artifact. spark-tags' test-bits should be in a "-tests"-JAR that spark-core can "test"-scope depend on (in addition to "compile"-scope depending on spark-tags as it does today). SPARK-17807 <https://issues.apache.org/jira/browse/SPARK-17807> was "Not a Problem"d but I don't think that's the right outcome; spark-core should not be leaking test-deps into downstream libraries' classpaths when depended on in "compile" scope.