T
- The type of object the action operates on.java.io.Serializable
@HasImplicitReceiver @Incubating public interface IsolatedAction<T> extends java.io.Serializable
IsolatedAction
, with each target getting its own isolated action instance.
Each isolated action is re-created through Configuration Cache serialization before it is applied to a target.
This approach ensures that sharing mutable state across targets via any means
(including BuildService
, which are not supported) is prevented.
The absence of shared mutable state allows these actions to be safely executed in parallel as needed.
IMPORTANT: As isolated action instances are recreated using Configuration Cache serialization, they must adhere to the same requirements as any other object serialized into the Configuration Cache.
Modifier and Type | Method | Description |
---|---|---|
void |
execute(T target) |
Performs this action against the given object.
|
void execute(T target)
target
- The object to perform the action on.