Table of Contents
API Documentation: | TransformAction |
---|
Interface for artifact transform actions.
A transform action implementation is an abstract class implementing the TransformAction.transform(org.gradle.api.artifacts.transform.TransformOutputs)
method.
A minimal implementation may look like this:
import org.gradle.api.artifacts.transform.TransformParameters; public abstract class MyTransform implements TransformAction<TransformParameters.None> { @InputArtifact public abstract Provider<FileSystemLocation> getInputArtifact(); @Override public void 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 the input artifact location, which is the file or directory that the transform should be applied to. - An abstract getter with
InputArtifactDependencies
will receive the dependencies of its input artifact.
Property | Description |
parameters | The object provided by |
Method | Description |
transform(outputs) | Executes the transform. |
The object provided by TransformSpec.getParameters()
when registering the artifact transform.
Do not implement this method in your subclass.
Gradle provides the implementation when registering the transform action via DependencyHandler.registerTransform(java.lang.Class, org.gradle.api.Action)
.
void
transform
(TransformOutputs
outputs)
Executes the transform.
This method must be implemented in the subclass.