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
InputArtifactwill receive the input artifact location, which is the file or directory that the transform should be applied to. - An abstract getter with
InputArtifactDependencieswill 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.