ScalaCompile

API Documentation:ScalaCompile

Compiles Scala source files, and optionally, Java source files.

Properties

PropertyDescription
classpath

The classpath to use to compile the source files.

destinationDir
Deprecated
Replaced

The directory to generate the .class files into.

destinationDirectory

The directory property that represents the directory to generate the .class files into.

excludes

The set of exclude patterns.

includes

The set of include patterns.

javaLauncher

The toolchain JavaLauncher to use for executing the Scala compiler.

options

The Java compilation options.

scalaClasspath

The classpath to use to load the Scala compiler.

scalaCompileOptions

The Scala compilation options.

scalaCompilerPlugins

The Scala compiler plugins to use.

source

The source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.

sourceCompatibility

The Java language level to use to compile the source files.

targetCompatibility

The target JVM to generate the .class files for.

Methods

MethodDescription
exclude(excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs.The given closure is passed a FileTreeElement as its parameter. The closure should return true or false. Example:

exclude(excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

exclude(excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

exclude(excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

include(includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. The given closure is passed a FileTreeElement as its parameter. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

include(includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

include(includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

include(includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

source(sources)

Adds some source to this task. The given source objects will be evaluated as per Project.files(java.lang.Object[]).

Script blocks

No script blocks

Property details

FileCollection classpath

The classpath to use to compile the source files.

Default with scala plugin:
sourceSet.compileClasspath

File destinationDir

Note: This property is deprecated and will be removed in the next major version of Gradle.

Note: This property has been replaced by destinationDirectory.

The directory to generate the .class files into.

Default with scala plugin:
sourceSet.sourceDirectorySet.destinationDirectory

DirectoryProperty destinationDirectory

The directory property that represents the directory to generate the .class files into.

Default with scala plugin:
sourceSet.sourceDirectorySet.destinationDirectory

Set<String> excludes

The set of exclude patterns.

Set<String> includes

The set of include patterns.

Property<JavaLauncher> javaLauncher

The toolchain JavaLauncher to use for executing the Scala compiler.

Default with scala plugin:
java.toolchain

CompileOptions options (read-only)

The Java compilation options.

FileCollection scalaClasspath

The classpath to use to load the Scala compiler.

Default with scala plugin:
scala-compiler dependency matching the scala-library version found on classpath

BaseScalaCompileOptions scalaCompileOptions (read-only)

The Scala compilation options.

FileCollection scalaCompilerPlugins

The Scala compiler plugins to use.

Default with scala plugin:
The list of compiler plugins is resolved from the scalaCompilerPlugins configuration

FileTree source (read-only)

The source for this task, after the include and exclude patterns have been applied. Ignores source files which do not exist.

The PathSensitivity for the sources is configured to be PathSensitivity.ABSOLUTE. If your sources are less strict, please change it accordingly by overriding this method in your subclass.

Default with scala plugin:
sourceSet.scala

String sourceCompatibility

The Java language level to use to compile the source files.

Default with scala plugin:
project.sourceCompatibility

String targetCompatibility

The target JVM to generate the .class files for.

Default with scala plugin:
project.targetCompatibility

Method details

SourceTask exclude(Closure excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs.The given closure is passed a FileTreeElement as its parameter. The closure should return true or false. Example:

copySpec {
  from 'source'
  into 'destination'
  //an example of excluding files from certain configuration:
  exclude { it.file in configurations.someConf.files }
}

If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask exclude(Iterable<String> excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask exclude(String... excludes)

Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask exclude(Spec<FileTreeElement> excludeSpec)

Adds an exclude spec. This method may be called multiple times to append new specs. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.

SourceTask include(Closure includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. The given closure is passed a FileTreeElement as its parameter. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

SourceTask include(Iterable<String> includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

SourceTask include(String... includes)

Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.

SourceTask include(Spec<FileTreeElement> includeSpec)

Adds an include spec. This method may be called multiple times to append new specs. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.

SourceTask source(Object... sources)

Adds some source to this task. The given source objects will be evaluated as per Project.files(java.lang.Object[]).