Class ProvidedFactory

java.lang.Object
com.xenoterracide.gradle.git.ProvidedFactory

public final class ProvidedFactory extends Object
Property, e.g. ObjectFactory and ProviderFactory wrapper.
  • Constructor Details

    • ProvidedFactory

      public ProvidedFactory(org.gradle.api.Project project)
      Instantiates a new Provided factory from a Project.
      Parameters:
      project - the project
  • Method Details

    • providedString

      public org.gradle.api.provider.Provider<@Nullable String> providedString(Callable<@Nullable String> callable)
      Parameters:
      callable - function to provide value
      Returns:
      provider
      See Also:
    • providedString

      public org.gradle.api.provider.Provider<String> providedString(org.gradle.api.provider.Provider<String> callable)
      Parameters:
      callable - function to provide value
      Returns:
      provider
      See Also:
    • providedLong

      public org.gradle.api.provider.Provider<Long> providedLong(org.gradle.api.provider.Provider<Long> callable)
      Parameters:
      callable - function to provide value
      Returns:
      provider
      See Also:
    • providedList

      public <E> org.gradle.api.provider.Provider<List<E>> providedList(org.gradle.api.provider.Provider<List<E>> callable, Class<E> type)
      Provides functionality similar to provided(Callable, Class) for List.
      Type Parameters:
      E - element type for list
      Parameters:
      callable - function to provide value
      type - element class
      Returns:
      string provider
      See Also:
    • provided

      public <T> org.gradle.api.provider.Provider<T> provided(Callable<@Nullable T> callable, Class<T> type)
      Create a cached Provider.
      Type Parameters:
      T - type the provider returns
      Parameters:
      callable - function to provide value
      type - the class for the type that the provider returns
      Returns:
      provider
      See Also:
    • provided

      public <T> org.gradle.api.provider.Provider<T> provided(org.gradle.api.provider.Provider<@Nullable T> provider, Class<T> type)
      Create a cached Provider.
      Type Parameters:
      T - type the provider returns
      Parameters:
      provider - function to provide value
      type - the class for the type that the provider returns
      Returns:
      provider
      Implementation Note:
      currently this returns a Property so that the property should only be calculated once per instance of it. This implementation could change in the future to ensure only once per build. A Property based solution should not be assumed, but currently use of HasConfigurableValue.finalizeValueOnRead() and HasConfigurableValue.disallowChanges() to ensure they are immutable and only created as a sort of cached Provider.
    • propertyBoolean

      public org.gradle.api.provider.Property<Boolean> propertyBoolean()
      Shortcut to property(Class) for Boolean.
      Returns:
      the new property
      See Also:
    • propertyString

      public org.gradle.api.provider.Property<@Nullable String> propertyString()
      Shortcut to property(Class) for String.
      Returns:
      the new property
      See Also:
    • property

      public <T> org.gradle.api.provider.Property<T> property(Class<T> type)
      Creates a Property of a given type that is HasConfigurableValue.finalizeValueOnRead().
      Type Parameters:
      T - type of property
      Parameters:
      type - class type of property
      Returns:
      the new property
      See Also:
      • ObjectFactory.property(Class)