Table of Contents
API Documentation: | TransformAction |
---|
Note: This class is incubating and may change in a future version of Gradle.
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 | Incubating The object provided by |
Method | Description |
transform(outputs) | Incubating Executes the transform. |
Note: This property is incubating and may change in a future version of Gradle.
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)
Note: This method is incubating and may change in a future version of Gradle.
Executes the transform.
This method must be implemented in the subclass.