Interface BuildCacheConfiguration


@Incubating public interface BuildCacheConfiguration
Configuration for the build cache for an entire Gradle build.
Since:
3.5
  • Method Details

    • registerBuildCacheService

      <T extends BuildCache> void registerBuildCacheService(Class<T> configurationType, Class<? extends BuildCacheServiceFactory<? super T>> buildCacheServiceFactoryType)
      Registers a custom build cache type.
      Parameters:
      configurationType - Configuration type used to provide parameters to a BuildCacheService
      buildCacheServiceFactoryType - Implementation type of BuildCacheServiceFactory that is used to create a BuildCacheService
    • getLocal

      BuildCache getLocal()
      Returns the local cache configuration.
    • local

      <T extends BuildCache> T local(Class<T> type)
      Configures the local cache with the given type.

      If a local build cache has already been configured with a different type, this method replaces it.

      Push is enabled by default for the local cache.

      Parameters:
      type - the type of local cache to configure.
    • local

      <T extends BuildCache> T local(Class<T> type, Action<? super T> configuration)
      Configures the local cache with the given type.

      If a local build cache has already been configured with a different type, this method replaces it.

      If a local build cache has already been configured with the same type, this method configures it.

      Push is enabled by default for the local cache.

      Parameters:
      type - the type of local cache to configure.
      configuration - the configuration to execute against the remote cache.
    • local

      void local(Action<? super BuildCache> configuration)
      Executes the given action against the local configuration.
      Parameters:
      configuration - the action to execute against the local cache configuration.
    • getRemote

      BuildCache getRemote()
      Returns the remote cache configuration.
    • remote

      <T extends BuildCache> T remote(Class<T> type)
      Configures a remote cache with the given type.

      If a remote build cache has already been configured with a different type, this method replaces it.

      Push is disabled by default for the remote cache.

      Parameters:
      type - the type of remote cache to configure.
    • remote

      <T extends BuildCache> T remote(Class<T> type, Action<? super T> configuration)
      Configures a remote cache with the given type.

      If a remote build cache has already been configured with a different type, this method replaces it.

      If a remote build cache has already been configured with the same, this method configures it.

      Push is disabled by default for the remote cache.

      Parameters:
      type - the type of remote cache to configure.
      configuration - the configuration to execute against the remote cache.
    • remote

      void remote(Action<? super BuildCache> configuration)
      Executes the given action against the currently configured remote cache.
      Parameters:
      configuration - the action to execute against the currently configured remote cache.
      Throws:
      IllegalStateException - If no remote cache has been assigned yet