T- The type of parameters used by the service.
@Incubating public interface BuildService<T extends BuildServiceParameters>
To create a service, create an abstract subclass of this interface and use
BuildServiceRegistry.registerIfAbsent(String, Class, Action)
to register one or more instances. This method returns a
Provider that you can use to connect
the service to tasks.
A service implementation may optionally take parameters. To do this create a subtype of
BuildServiceParameters and declare this
type as the type parameter to the service implementation.
A service may optionally implement
AutoCloseable, in which case
AutoCloseable.close() will be called when
the service instance is no longer required. The implementation can release any resources it may be holding open.
It is important to note that service implementations must be thread-safe, as they may be used by multiple tasks concurrently.
@Inject T getParameters()