Stats all jars on the classpath, and loose class-files in the current classpath that could conceivably be part of some package, and aggregates their names and mtimes as a "signature" of the current classpath
Stats all jars on the classpath, and loose class-files in the current classpath that could conceivably be part of some package, and aggregates their names and mtimes as a "signature" of the current classpath
When looking for loose class files, we skip folders whose names are not valid java identifiers. Otherwise, the "current classpath" often contains the current directory, which in an SBT or Maven project contains hundreds or thousands of files which are not on the classpath. Empirically, this heuristic improves perf by greatly cutting down on the amount of files we need to mtime in many common cases.