2009-08-24 04:21:15 +02:00
|
|
|
package xsbti;
|
2009-08-21 14:12:43 +02:00
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
|
2009-10-16 00:09:15 +02:00
|
|
|
/** Provides access to the jars and classes for a particular version of Scala.*/
|
2009-08-21 14:12:43 +02:00
|
|
|
public interface ScalaProvider
|
|
|
|
|
{
|
2009-09-26 08:18:04 +02:00
|
|
|
public Launcher launcher();
|
2009-10-16 00:09:15 +02:00
|
|
|
/** The version of Scala this instance provides.*/
|
2009-09-26 08:18:04 +02:00
|
|
|
public String version();
|
|
|
|
|
|
2009-10-16 00:09:15 +02:00
|
|
|
/** A ClassLoader that loads the classes from scala-library.jar and scala-compiler.jar.*/
|
2009-09-26 08:18:04 +02:00
|
|
|
public ClassLoader loader();
|
2009-10-16 00:09:15 +02:00
|
|
|
/** Returns the scala-library.jar and scala-compiler.jar for this version of Scala. */
|
2009-09-26 08:18:04 +02:00
|
|
|
public File[] jars();
|
2013-02-22 02:44:26 +01:00
|
|
|
|
|
|
|
|
/**@deprecated Only `jars` can be reliably provided for modularized Scala. (Since 0.13.0) */
|
|
|
|
|
@Deprecated
|
2009-09-27 20:39:26 +02:00
|
|
|
public File libraryJar();
|
2013-02-22 02:44:26 +01:00
|
|
|
|
|
|
|
|
/**@deprecated Only `jars` can be reliably provided for modularized Scala. (Since 0.13.0) */
|
|
|
|
|
@Deprecated
|
2009-09-27 20:39:26 +02:00
|
|
|
public File compilerJar();
|
2013-02-22 02:44:26 +01:00
|
|
|
|
2009-10-16 00:09:15 +02:00
|
|
|
/** Creates an application provider that will use 'loader()' as the parent ClassLoader for
|
2009-10-17 15:48:39 +02:00
|
|
|
* the application given by 'id'. This method will retrieve the application if it has not already
|
|
|
|
|
* been retrieved.*/
|
2009-09-26 08:18:04 +02:00
|
|
|
public AppProvider app(ApplicationID id);
|
2013-02-22 02:44:26 +01:00
|
|
|
}
|