# Interface VersionControlSpec

All Superinterfaces:
  `Describable`

All Known Subinterfaces:
  `GitVersionControlSpec`

public interface VersionControlSpec extends Describable
Captures user-provided information about a version control repository.

Since:
  4.4

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getRepoName()`
  Returns the name of the repository.
  `String`
  `getRootDir()`
  Returns the relative path to the root of the build within the repository.
  `String`
  `getUniqueId()`
  Returns a `String` identifier which will be unique to this version control specification among other version control specifications.
  `void`
  `plugins(Action<? super InjectedPluginDependencies> configuration)`
  Configure injected plugins into this build.
  `void`
  `setRootDir(String rootDir)`
  Sets the relative path to the root of the build within the repository.

  ### Methods inherited from interface Describable

  `getDisplayName`

- ## Method Details

  - ### getUniqueId

    String getUniqueId()
    Returns a `String` identifier which will be unique to this version control specification among other version control specifications.

  - ### getRepoName

    String getRepoName()
    Returns the name of the repository.

  - ### getRootDir

    String getRootDir()
    Returns the relative path to the root of the build within the repository.

    Defaults to an empty relative path, meaning the root of the repository.

    Returns:
      the root directory of the build, relative to the root of this repository.
    Since:
      4.5

  - ### setRootDir

    void setRootDir(String rootDir)
    Sets the relative path to the root of the build within the repository. Use an empty string to refer to the root of the repository.
    Parameters:
      `rootDir` - The root directory of the build, relative to the root of this repository.
    Since:
      4.5

  - ### plugins

    void plugins(Action<? super InjectedPluginDependencies> configuration)
    Configure injected plugins into this build.
    Parameters:
      `configuration` - the configuration action for adding injected plugins
    Since:
      4.6