Class GitSemVerExtension

  • All Implemented Interfaces:

    
    public class GitSemVerExtension
    
                        

    The plugin extension with the DSL.

    Supports the following properties:

    • minimumVersion, defaulting to 0.1.0

    • developmentIdentifier, the identifier for the in-development versions

    • noTagIdentifier, the identifier for early versions of the project, when no tags are available yet

    • fullHash, whether to use the full commit hash as build metadata

    • maxVersionLength, cuts the version to the specified length. Useful for some destinations, e.g., the Gradle Plugin Portal, which limits version numbers to 20 chars.

    • developmentCounterLength, how many digits to use for the counter

    • enforceSemanticVersioning, whether the system should fail or just warn in case a non-SemVer compatible version gets produced

    • preReleaseSeparator, how to separate the pre-relase information. Changing this value may generate non-SemVer-compatible versions.

    • buildMetadataSeparator, how to separate the pre-relase information. Some destinations (e.g., the Gradle Plugin Portal) do not support the default value '+'. A reasonable alternative is using '-', lifting the build metadata to a pre-release segment.

    • distanceCounterRadix, the radix for the commit counter. Defaults to base 36. Bases from 2 to 36 allowed.

    • versionPrefix, to be used in case tags are prefixed with some symbols before the semantic version (e.g., v1.0.0 is prefixed with "v").

    • includeLightweightTags, to be used in case lightweight tags should be considered.

    • forceVersionPropertyName, the name of the property that, if set, will force the plugin to use the specified version. By default the property name is "forceVersion".

    • Constructor Detail

      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash, Property<Integer> maxVersionLength, Property<Integer> developmentCounterLength, Property<Boolean> enforceSemanticVersioning, Property<String> preReleaseSeparator, Property<String> buildMetadataSeparator, Property<Integer> distanceCounterRadix, Property<String> versionPrefix, Property<Boolean> includeLightweightTags, Property<String> forceVersionPropertyName, Function1<List<String>, UpdateType> updateStrategy)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash, Property<Integer> maxVersionLength, Property<Integer> developmentCounterLength, Property<Boolean> enforceSemanticVersioning, Property<String> preReleaseSeparator, Property<String> buildMetadataSeparator, Property<Integer> distanceCounterRadix, Property<String> versionPrefix, Property<Boolean> includeLightweightTags, Property<String> forceVersionPropertyName)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash, Property<Integer> maxVersionLength, Property<Integer> developmentCounterLength, Property<Boolean> enforceSemanticVersioning, Property<String> preReleaseSeparator, Property<String> buildMetadataSeparator, Property<Integer> distanceCounterRadix, Property<String> versionPrefix, Property<Boolean> includeLightweightTags)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash, Property<Integer> maxVersionLength, Property<Integer> developmentCounterLength, Property<Boolean> enforceSemanticVersioning, Property<String> preReleaseSeparator, Property<String> buildMetadataSeparator, Property<Integer> distanceCounterRadix, Property<String> versionPrefix)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash, Property<Integer> maxVersionLength, Property<Integer> developmentCounterLength, Property<Boolean> enforceSemanticVersioning, Property<String> preReleaseSeparator, Property<String> buildMetadataSeparator, Property<Integer> distanceCounterRadix)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash, Property<Integer> maxVersionLength, Property<Integer> developmentCounterLength, Property<Boolean> enforceSemanticVersioning, Property<String> preReleaseSeparator, Property<String> buildMetadataSeparator)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash, Property<Integer> maxVersionLength, Property<Integer> developmentCounterLength, Property<Boolean> enforceSemanticVersioning, Property<String> preReleaseSeparator)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash, Property<Integer> maxVersionLength, Property<Integer> developmentCounterLength, Property<Boolean> enforceSemanticVersioning)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash, Property<Integer> maxVersionLength, Property<Integer> developmentCounterLength)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash, Property<Integer> maxVersionLength)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier, Property<Boolean> fullHash)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier, Property<String> noTagIdentifier)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion, Property<String> developmentIdentifier)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger, Property<String> minimumVersion)
      • GitSemVerExtension

        GitSemVerExtension(ProviderFactory providerFactory, ObjectFactory objectFactory, File projectDir, String version, Logger logger)