# Class ScalaBasePlugin

java.lang.Object
org.gradle.api.plugins.scala.ScalaBasePlugin

All Implemented Interfaces:
  `Plugin<Project>`

public abstract class ScalaBasePlugin extends Object implements Plugin<Project>

A `Plugin` which compiles and tests Scala sources.

See Also:
  - Scala plugin reference

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `(package private) static class`
  `ScalaBasePlugin.UsageDisambiguationRules`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `DEFAULT_ZINC_VERSION`
  Default Scala Zinc compiler version
  `static final String`
  `SCALA_COMPILER_PLUGINS_CONFIGURATION_NAME`
  Configuration for scala compiler plugins.
  `static final String`
  `SCALA_RUNTIME_EXTENSION_NAME`
  `static final String`
  `ZINC_CONFIGURATION_NAME`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ScalaBasePlugin(ObjectFactory objectFactory, org.gradle.api.plugins.jvm.internal.JvmPluginServices jvmPluginServices, DependencyFactory dependencyFactory)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `apply(Project project)`
  Apply this plugin to the given target object.

  ### Methods inherited from class Object

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

- ## Field Details

  - ### DEFAULT_ZINC_VERSION

    public static final String DEFAULT_ZINC_VERSION
    Default Scala Zinc compiler version
    Since:
      6.0
    See Also:
      - Constant Field Values

  - ### ZINC_CONFIGURATION_NAME

    public static final String ZINC_CONFIGURATION_NAME
    See Also:
      - Constant Field Values

  - ### SCALA_RUNTIME_EXTENSION_NAME

    public static final String SCALA_RUNTIME_EXTENSION_NAME
    See Also:
      - Constant Field Values

  - ### SCALA_COMPILER_PLUGINS_CONFIGURATION_NAME

    public static final String SCALA_COMPILER_PLUGINS_CONFIGURATION_NAME
    Configuration for scala compiler plugins.
    Since:
      6.4
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### ScalaBasePlugin

    @Inject public ScalaBasePlugin(ObjectFactory objectFactory, org.gradle.api.plugins.jvm.internal.JvmPluginServices jvmPluginServices, DependencyFactory dependencyFactory)

- ## Method Details

  - ### apply

    public void apply(Project project)
    Description copied from interface: `Plugin`
    Apply this plugin to the given target object.
    Specified by:
      `apply` in interface `Plugin<Project>`
    Parameters:
      `project` - The target object