# Class VersionCatalogPlugin

java.lang.Object
org.gradle.api.plugins.catalog.VersionCatalogPlugin

All Implemented Interfaces:
  `Plugin<Project>`

public abstract class VersionCatalogPlugin extends Object implements Plugin<Project>

A `Plugin` makes it possible to generate a version catalog, which is a set of versions and coordinates for dependencies and plugins to import in the settings of a Gradle build.

Since:
  7.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `GENERATE_CATALOG_FILE_TASKNAME`
  The generate catalog file taskname.
  `static final String`
  `GRADLE_PLATFORM_DEPENDENCIES`
  The gradle platform dependencies.
  `static final String`
  `VERSION_CATALOG_ELEMENTS`
  The version catalog elements.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VersionCatalogPlugin(SoftwareComponentFactory softwareComponentFactory)`

- ## 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

  - ### GENERATE_CATALOG_FILE_TASKNAME

    public static final String GENERATE_CATALOG_FILE_TASKNAME
    The generate catalog file taskname.
    Since:
      7.0
    See Also:
      - Constant Field Values

  - ### GRADLE_PLATFORM_DEPENDENCIES

    public static final String GRADLE_PLATFORM_DEPENDENCIES
    The gradle platform dependencies.
    Since:
      7.0
    See Also:
      - Constant Field Values

  - ### VERSION_CATALOG_ELEMENTS

    public static final String VERSION_CATALOG_ELEMENTS
    The version catalog elements.
    Since:
      7.0
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### VersionCatalogPlugin

    @Inject public VersionCatalogPlugin(SoftwareComponentFactory softwareComponentFactory)

- ## 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