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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description T
getParameters()
The object provided byTransformSpec.getParameters()
when registering the artifact transform.void
transform(TransformOutputs outputs)
Executes the transform.
-
-
-
Method Detail
-
getParameters
@Inject T 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
void transform(TransformOutputs outputs)
Executes the transform.This method must be implemented in the subclass.
- Parameters:
outputs
- Receives the outputs of the transform.
-
-