# Interface BuildCacheServiceFactory<T extends BuildCache>

Type Parameters:
  `T` - the type of build cache configuration this factory can handle.

@Incubating public interface BuildCacheServiceFactory<T extends BuildCache>
Factory interface to be provided by build cache service implementations.

To be able to use a `BuildCacheService`, the factory that implements this interface and the configuration type (`BuildCache`) must be registered with the `BuildCacheConfiguration`.

In settings.gradle:

        buildCache {
            // Register custom build cache implementation
            registerBuildCacheService(CustomBuildCache, CustomBuildCacheFactory)

            remote(CustomBuildCache) {
                // configure custom build cache.
            }
        }

Since:
  3.5

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static interface`
`BuildCacheServiceFactory.Describer`
Builder-style object that allows build cache service factories to describe the cache service.

## Method Summary

Modifier and Type
Method
Description
`BuildCacheService`
`createBuildCacheService(T configuration, BuildCacheServiceFactory.Describer describer)`
Creates a build cache service from the given configuration.

## Method Details

### createBuildCacheService

BuildCacheService createBuildCacheService(T configuration, BuildCacheServiceFactory.Describer describer)
Creates a build cache service from the given configuration. Implementations should also provide a description via the given describer.