Annotation Type ServiceReference
-
@Documented @Retention(RUNTIME) @Target({METHOD,FIELD}) @Incubating public @interface ServiceReference
Marks a task property as being a holder to a
BuildService
.When you annotate a shared build service property with this annotation, there is no need to explicitly declare the association between the task and the service; also, if you provide a service name to the annotation, and a shared build service is registered with that name, it will be automatically assigned to the property when the task is created.
It is an error to apply this annotation to a property whose type is not a subtype of
BuildService
.- Since:
- 8.0
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description java.lang.String
value
The optional name of the service which the annotated element references.
-
-
-
Element Detail
-
value
java.lang.String value
The optional name of the service which the annotated element references.
In case a service name is provided, if a shared build service is registered with that name, a provider to the service will be automatically assigned to the property.
If a shared build service with the specified name is not found, and no value or convention is explicitly set on the property:
- if the property is optional, an exception will only occur if an attempt is made to obtain the value of the property (see
Provider.get()
); - if the property is mandatory, before the task starts executing, a validation error will be issued.
- See Also:
Optional
,Provider.get()
- Default:
- ""
- if the property is optional, an exception will only occur if an attempt is made to obtain the value of the property (see
-
-