mirror of https://github.com/sbt/sbt.git
In order for sbt to function well, it needs the test interface, jansi and forked jline jars provided by a classloader that is parent to all other sbt classloaders. To do this for just the test interface jar, I just checked if the top loader in the app configuration had the correct name. Now that there are three jars, this is more complicated so I updated the launcher to create a top loader with the method getEarlyJars implemented and returning the three needed jars. This is a much more scalable design. If sbt is entered with a configuration that does not have a top loader with the getEarlyJars method defined, then we just fall back on constructing the default layered classlaoder from the configuration classpath. The motivation for this change is that I discovered that sbt immediately crashed when I tried to run a non-snapshot version. After this change, I verified that both snapshot and non-snapshot versions of the latest sbt code could load with both an obsolete and up-to-date launcher. |
||
|---|---|---|
| .. | ||
| src | ||
| NOTICE | ||