Replace Scala jars in UpdateReport with ScalaProvider jars in more situations. Fixes #661.

Specifically, when the Scala version for sbt is the same as that for the project being built,
the jars in UpdateReport should be the same as those in ScalaProvider.  This is because the
loader will come from the ScalaProvider, which uses jars in the boot directory instead of the
cache.  The first part of the fix for #661 checks that loaded classes come from the classpath
and so they need to line up.
This commit is contained in:
Mark Harrah
2013-02-21 20:44:26 -05:00
parent bd0f208302
commit 5b5577a187
5 changed files with 86 additions and 33 deletions
@@ -13,10 +13,17 @@ public interface ScalaProvider
public ClassLoader loader();
/** Returns the scala-library.jar and scala-compiler.jar for this version of Scala. */
public File[] jars();
/**@deprecated Only `jars` can be reliably provided for modularized Scala. (Since 0.13.0) */
@Deprecated
public File libraryJar();
/**@deprecated Only `jars` can be reliably provided for modularized Scala. (Since 0.13.0) */
@Deprecated
public File compilerJar();
/** Creates an application provider that will use 'loader()' as the parent ClassLoader for
* the application given by 'id'. This method will retrieve the application if it has not already
* been retrieved.*/
public AppProvider app(ApplicationID id);
}
}