Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.gradle.api.tasks
[Groovy] Class ScalaRuntime

    java.lang.Object
      org.gradle.api.tasks.ScalaRuntime

    @Incubating
    class ScalaRuntime

Provides information related to the Scala runtime(s) used in a project. Added by the ScalaBasePlugin as a project extension named `scalaRuntime`.

Example usage:

         apply plugin: "scala"

         repositories {
             mavenCentral()
         }

         dependencies {
             compile "org.scala-lang:scala-library:2.10.1"
         }

         def scalaClasspath = scalaRuntime.inferScalaClasspath(configurations.compile)
         // The returned class path can be used to configure the 'scalaClasspath' property of tasks
         // such as 'ScalaCompile' or 'ScalaDoc', or to execute these and other Scala tools directly.

Field Summary
`protected Project` | `project`

Constructor Summary
`ScalaRuntime(Project project)`

Method Summary
`File` | `findScalaJar(Iterable classpath, String appendix)` Searches the specified class path for a Scala Jar file (scala-compiler, scala-library, scala-jdbc, etc.) with the specified appendix (compiler, library, jdbc, etc.).
`String` | `getScalaVersion(File scalaJar)` Determines the version of a Scala Jar file (scala-compiler, scala-library, scala-jdbc, etc.).
`FileCollection` | `inferScalaClasspath(Iterable classpath)` Searches the specified class path for a 'scala-library' Jar, and returns a class path containing a corresponding (same version) 'scala-compiler' Jar and its dependencies.

Methods inherited from class Object
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Field Detail

### project

    protected final Project project

Constructor Detail

### ScalaRuntime

    ScalaRuntime(Project project)

Method Detail

### findScalaJar

    @Nullable
    File findScalaJar(Iterable classpath, String appendix)

  Searches the specified class path for a Scala Jar file (scala-compiler, scala-library, scala-jdbc, etc.) with the specified appendix (compiler, library, jdbc, etc.). If no such file is found, `null` is returned.
  Parameters:
    `classpath` - the class path to search
    `appendix` - the appendix to search for
  Returns:
    a Scala Jar file with the specified appendix

### getScalaVersion

    @Nullable
    String getScalaVersion(File scalaJar)

  Determines the version of a Scala Jar file (scala-compiler, scala-library, scala-jdbc, etc.). If the version cannot be determined, or the file is not a Scala Jar file, `null` is returned.

  Implementation note: The version is determined by parsing the file name, which is expected to match the pattern 'scala-[component]-[version].jar'.

  Parameters:
    `scalaJar` - a Scala Jar file
  Returns:
    the version of the Scala Jar file

### inferScalaClasspath

    FileCollection inferScalaClasspath(Iterable classpath)

  Searches the specified class path for a 'scala-library' Jar, and returns a class path containing a corresponding (same version) 'scala-compiler' Jar and its dependencies.

  If the (deprecated) 'scalaTools' configuration is explicitly configured, no repository is declared for the project, no 'scala-library' Jar is found on the specified class path, or its version cannot be determined, a class path with the contents of the 'scalaTools' configuration is returned.

  The returned class path may be empty, or may fail to resolve when asked for its contents.

  Parameters:
    `classpath` - a class path containing a 'scala-library' Jar
  Returns:
    a class path containing a corresponding 'scala-compiler' Jar and its dependencies

Gradle API 1.10