xsbti.compile.ScalaInstance Maven / Gradle / Ivy
package xsbti.compile;
import java.io.File;
/**
* Defines Scala instance, which is a reference version String, a unique version String, a set of jars, and a class loader for a Scala version.
*
* Note that in this API a 'jar' can actually be any valid classpath entry.
*/
public interface ScalaInstance
{
/** The version used to refer to this Scala version.
* It need not be unique and can be a dynamic version like 2.10.0-SNAPSHOT.
*/
String version();
/** A class loader providing access to the classes and resources in the library and compiler jars. */
ClassLoader loader();
/**@deprecated Only `jars` can be reliably provided for modularized Scala. (Since 0.13.0) */
@Deprecated
File libraryJar();
/**@deprecated Only `jars` can be reliably provided for modularized Scala. (Since 0.13.0) */
@Deprecated
File compilerJar();
/**@deprecated Only `jars` can be reliably provided for modularized Scala. (Since 0.13.0) */
@Deprecated
File[] otherJars();
/** All jar files provided by this Scala instance.*/
File[] allJars();
/** The unique identifier for this Scala instance. An implementation should usually obtain this from the compiler.properties file in the compiler jar. */
String actualVersion();
}