Closed wandgitlabbot closed 3 years ago
I haven't observed this issue for quite a while, even after multiple dependency updates and deleting all the dependencies and caches a few times. I'll close this issue, and hope it doesn't have to be reopened.
In GitLab, by Daniel Oosterwijk on 2020-04-07
Occasionally, scalatest will throw an exception about a method being abstract on test startup. This seems to most often occur when changing dependency versions or development hosts, implying it's something to do with the classpath interacting incorrectly with the cache. It can be solved by temporarily removing the
% Test
classification on the scalatest declaration intestDependencies
inbuild.sbt
.The main reason we're using Test and Provided classifiers is to prune the size of sbt-assembly fat jars used for deployment to a standalone Flink cluster. It could be that it's more effective to not use Test and Provided classifiers, instead defining our own classifiers or tagging system to allow us to prune those dependencies from the assembly when we're packing it. This would prevent IntelliJ or sbt or whatever is causing the classpath issue from noticing that we intend to exclude them from assembly later. It would also solve the issue of new run targets needing the "Include dependencies with 'Provided' scope" box to be ticked, since nothing would be marked as either Provided or Test.
While a single "Don't include this dependency in assembly" classifier would be slightly less semantic about the reason we're excluding it, that is a reasonable trade-off to make for a more effective development workflow.