Interface VersionCatalogBuilder

All Superinterfaces:
Named

public interface VersionCatalogBuilder extends Named
A version catalog builder. Dependencies defined via this model will trigger the generation of accessors available in build scripts.
Since:
7.0
  • Method Details

    • getDescription

      Property<String> getDescription()
      A description for the dependencies model, which will be used in the generated sources as documentation.
      Returns:
      the description for this model
    • from

      void from(Object dependencyNotation)
      Configures the model by reading it from a version catalog. A version catalog is a component published using the `version-catalog` plugin or a local TOML file.

      This function can be called only once, further calls will result in an error. The passed notation should conform these constraints:

      • If a file notation is passed, it should be a single file.
      • If it's a resolvable dependency, it should resolve to a single file.

      If the notation doesn't conform these constraints, an exception will be thrown at configuration time.

      Parameters:
      dependencyNotation - any notation supported by DependencyHandler
    • version

      String version(String alias, Action<? super MutableVersionConstraint> versionSpec)
      Configures a dependency version which can then be referenced using the VersionCatalogBuilder.LibraryAliasBuilder.versionRef(String) )} method.
      Parameters:
      alias - an identifier for the version
      versionSpec - the dependency version spec
      Returns:
      the version alias name
    • version

      String version(String alias, String version)
      Configures a dependency version which can then be referenced using the VersionCatalogBuilder.LibraryAliasBuilder.versionRef(String) method.
      Parameters:
      alias - an identifier for the version
      version - the version alias name
    • library

      Entry point for registering a library alias.
      Parameters:
      alias - the alias of the library
      group - the group of the library
      artifact - the artifact ID of the library
      Returns:
      a builder for this alias, to finish the version configuration
      Since:
      7.4
    • library

      void library(String alias, String groupArtifactVersion)
      Declare a library alias in full. This does not return a builder, as the declaration is fully complete. Use library(String, String, String) if you need a more complex version declaration.

      Note that declaring a classifier or extension using this method is not possible.

      Parameters:
      alias - the alias of the library
      groupArtifactVersion - the group:artifact:version string, all components are required
      Since:
      7.4
    • plugin

      Entry point for registering a plugin alias.
      Parameters:
      alias - the alias of the plugin
      id - the ID of the plugin
      Returns:
      a builder for this alias, to finish the version configuration
      Since:
      7.4
    • bundle

      void bundle(String alias, List<String> aliases)
      Declares a bundle of dependencies. A bundle consists of a name for the bundle, and a list of aliases. The aliases must correspond to aliases defined via the library() methods.
      Parameters:
      alias - the alias of the bundle
      aliases - the aliases of the dependencies included in the bundle
      See Also:
    • getLibrariesExtensionName

      String getLibrariesExtensionName()
      Returns the name of the extension configured by this builder