Interface TransformAction<T extends TransformParameters>
- Type Parameters:
T
- Parameter type for the transform action. Should beTransformParameters.None
if the action does not have parameters.
public interface TransformAction<T extends TransformParameters>
Interface for artifact transform actions.
A transform action implementation is an abstract class implementing the 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
getParameters()
in your class, the method will be implemented by Gradle. - Implementations may only have a default constructor.
- 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.
- Since:
- 5.3
-
Method Summary
Modifier and TypeMethodDescriptionThe object provided byTransformSpec.getParameters()
when registering the artifact transform.void
transform
(TransformOutputs outputs) Executes the transform.
-
Method Details
-
getParameters
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 via
DependencyHandler.registerTransform(Class, Action)
. -
transform
Executes the transform.This method must be implemented in the subclass.
- Parameters:
outputs
- Receives the outputs of the transform.
-