Table of Contents
API Documentation: | TransformAction |
---|
Interface for artifact transform actions.
A transform action implementation is an abstract class implementing theTransformAction.transform(org.gradle.api.artifacts.transform.TransformOutputs)
method. A minimal implementation may look like this:
import org.gradle.api.artifacts.transform.TransformParameters;publicabstractclass MyTransformimplements TransformAction<TransformParameters.None> {@InputArtifactpublicabstract Provider<FileSystemLocation> getInputArtifact();@Overridepublicvoid transform(TransformOutputs outputs) { File input = getInputArtifact().get().getAsFile(); File output = outputs.file(input.getName() +".transformed");// Do something to generate output from input }}
Implementations of TransformAction are subject to the following constraints:
- Do not implement
TransformAction.getParameters()
in your class, the method will be implemented by Gradle. - Implementations may only have a default constructor.
Implementations can receive parameters by using annotated abstract getter methods.
- An abstract getter annotated with
InputArtifact
will receive theinput artifact location, which is the file or directory that the transform should be applied to. - An abstract getter with
InputArtifactDependencies
will receive thedependencies of its input artifact.
Property | Description |
parameters | The object provided by |
Method | Description |
transform(outputs) | Executes the transform. |
The object provided byTransformSpec.getParameters()
when registering the artifact transform.
Do not implement this method in your subclass. Gradle provides the implementation when registering the transform action viaDependencyHandler.registerTransform(java.lang.Class, org.gradle.api.Action)
.
void
transform
(TransformOutputs
outputs)
Executes the transform.
This method must be implemented in the subclass.