Search in sources :

Example 1 with DefaultScalaPlatform

use of org.gradle.language.scala.internal.DefaultScalaPlatform in project gradle by gradle.

the class IdeaScalaConfigurer method createScalaSdkLibrary.

private static ProjectLibrary createScalaSdkLibrary(Project scalaProject, Iterable<File> files, boolean useScalaSdk, IdeaModule ideaModule) {
    ScalaRuntime runtime = scalaProject.getExtensions().findByType(ScalaRuntime.class);
    if (runtime != null) {
        // Old Scala Plugin does not specify a ScalaPlatform
        FileCollection scalaClasspath = runtime.inferScalaClasspath(files);
        File compilerJar = runtime.findScalaJar(scalaClasspath, "compiler");
        ScalaPlatform scalaPlatform = compilerJar != null ? new DefaultScalaPlatform(runtime.getScalaVersion(compilerJar)) : new DefaultScalaPlatform();
        return createScalaSdkFromPlatform(scalaPlatform, scalaClasspath, useScalaSdk);
    } else if (ideaModule.getScalaPlatform() != null) {
        // TODO: Wrong, using the full classpath of the application
        return createScalaSdkFromPlatform(ideaModule.getScalaPlatform(), scalaProject.files(files), useScalaSdk);
    } else {
        // we can't create a Scala SDK without either one
        return null;
    }
}
Also used : ScalaRuntime(org.gradle.api.tasks.ScalaRuntime) FileCollection(org.gradle.api.file.FileCollection) DefaultScalaPlatform(org.gradle.language.scala.internal.DefaultScalaPlatform) File(java.io.File) ScalaPlatform(org.gradle.language.scala.ScalaPlatform) DefaultScalaPlatform(org.gradle.language.scala.internal.DefaultScalaPlatform)

Aggregations

File (java.io.File)1 FileCollection (org.gradle.api.file.FileCollection)1 ScalaRuntime (org.gradle.api.tasks.ScalaRuntime)1 ScalaPlatform (org.gradle.language.scala.ScalaPlatform)1 DefaultScalaPlatform (org.gradle.language.scala.internal.DefaultScalaPlatform)1