# Class BaseScalaCompileOptions

java.lang.Object
org.gradle.language.scala.tasks.BaseScalaCompileOptions

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `ScalaCompileOptions`

public abstract class BaseScalaCompileOptions extends Object implements Serializable
Options for Scala platform compilation.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BaseScalaCompileOptions()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `forkOptions(Action<? super ScalaForkOptions> action)`
  Configure options for running the Scala compiler in a separate process.
  `List<String>`
  `getAdditionalParameters()`
  Additional parameters passed to the compiler.
  `@Nullable String`
  `getDebugLevel()`
  Generate debugging information.
  `@Nullable String`
  `getEncoding()`
  Encoding of source files.
  `ScalaForkOptions`
  `getForkOptions()`
  Options for running the Scala compiler in a separate process.
  `IncrementalCompileOptions`
  `getIncrementalOptions()`
  Options for incremental compilation of Scala code.
  `abstract Property<KeepAliveMode>`
  `getKeepAliveMode()`
  Keeps Scala compiler daemon alive across builds for faster build times
  `String`
  `getLoggingLevel()`
  Specifies the amount of logging.
  `List<String>`
  `getLoggingPhases()`
  Phases of the compiler to log.
  `protected abstract ObjectFactory`
  `getObjectFactory()`
  `void`
  `incrementalOptions(Action<? super IncrementalCompileOptions> action)`
  Configure options for incremental compilation of Scala code.
  `boolean`
  `isDeprecation()`
  Generate deprecation information.
  `boolean`
  `isFailOnError()`
  Fail the build on compilation errors.
  `boolean`
  `isForce()`
  Whether to force the compilation of all files.
  `boolean`
  `isListFiles()`
  List files to be compiled.
  `boolean`
  `isOptimize()`
  Run optimizations.
  `boolean`
  `isUnchecked()`
  Generate unchecked information.
  `void`
  `setAdditionalParameters(List<String> additionalParameters)`
  Sets the additional parameters.
  `void`
  `setDebugLevel(@Nullable String debugLevel)`
  `void`
  `setDeprecation(boolean deprecation)`
  `void`
  `setEncoding(@Nullable String encoding)`
  `void`
  `setFailOnError(boolean failOnError)`
  `void`
  `setForce(boolean force)`
  `void`
  `setListFiles(boolean listFiles)`
  `void`
  `setLoggingLevel(String loggingLevel)`
  `void`
  `setLoggingPhases(List<String> loggingPhases)`
  `void`
  `setOptimize(boolean optimize)`
  `void`
  `setUnchecked(boolean unchecked)`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### BaseScalaCompileOptions

    public BaseScalaCompileOptions()

- ## Method Details

  - ### getObjectFactory

    @Inject protected abstract ObjectFactory getObjectFactory()

  - ### isFailOnError

    @Input public boolean isFailOnError()
    Fail the build on compilation errors.

  - ### setFailOnError

    public void setFailOnError(boolean failOnError)

  - ### isDeprecation

    @Console public boolean isDeprecation()
    Generate deprecation information.

  - ### setDeprecation

    public void setDeprecation(boolean deprecation)

  - ### isUnchecked

    @Console public boolean isUnchecked()
    Generate unchecked information.

  - ### setUnchecked

    public void setUnchecked(boolean unchecked)

  - ### getDebugLevel

    @Optional @Input public @Nullable String getDebugLevel()
    Generate debugging information. Legal values: none, source, line, vars, notailcalls

  - ### setDebugLevel

    public void setDebugLevel(@Nullable String debugLevel)

  - ### isOptimize

    @Input public boolean isOptimize()
    Run optimizations.

  - ### setOptimize

    public void setOptimize(boolean optimize)

  - ### getEncoding

    @Optional @Input public @Nullable String getEncoding()
    Encoding of source files.

  - ### setEncoding

    public void setEncoding(@Nullable String encoding)

  - ### isForce

    @Input public boolean isForce()
    Whether to force the compilation of all files. Legal values: - false (only compile modified files) - true (always recompile all files)

  - ### setForce

    public void setForce(boolean force)

  - ### getAdditionalParameters

    @Optional @Input public List<String> getAdditionalParameters()
    Additional parameters passed to the compiler. Each parameter must start with '-'.
    Returns:
      The list of additional parameters.

  - ### setAdditionalParameters

    public void setAdditionalParameters(List<String> additionalParameters)
    Sets the additional parameters.

    Setting this property will clear any previously set additional parameters.

  - ### isListFiles

    @Console public boolean isListFiles()
    List files to be compiled.

  - ### setListFiles

    public void setListFiles(boolean listFiles)

  - ### getLoggingLevel

    @Console public String getLoggingLevel()
    Specifies the amount of logging. Legal values: none, verbose, debug

  - ### setLoggingLevel

    public void setLoggingLevel(String loggingLevel)

  - ### getLoggingPhases

    @Console public List<String> getLoggingPhases()
    Phases of the compiler to log. Legal values: namer, typer, pickler, uncurry, tailcalls, transmatch, explicitouter, erasure, lambdalift, flatten, constructors, mixin, icode, jvm, terminal.

  - ### setLoggingPhases

    public void setLoggingPhases(List<String> loggingPhases)

  - ### getForkOptions

    public ScalaForkOptions getForkOptions()
    Options for running the Scala compiler in a separate process.

  - ### forkOptions

    public void forkOptions(Action<? super ScalaForkOptions> action)
    Configure options for running the Scala compiler in a separate process.
    Since:
      8.11

  - ### getIncrementalOptions

    public IncrementalCompileOptions getIncrementalOptions()
    Options for incremental compilation of Scala code.

  - ### incrementalOptions

    public void incrementalOptions(Action<? super IncrementalCompileOptions> action)
    Configure options for incremental compilation of Scala code.
    Since:
      8.11

  - ### getKeepAliveMode

    @Incubating @Input public abstract Property<KeepAliveMode> getKeepAliveMode()
    Keeps Scala compiler daemon alive across builds for faster build times
    Since:
      7.6