T
- Parameter type for the transform action. Should be TransformParameters.None
if the action does not have parameters.public interface TransformAction<T extends TransformParameters>
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:
getParameters()
in your class, the method will be implemented by Gradle.InputArtifact
will receive the input artifact location, which is the file or directory that the transform should be applied to.InputArtifactDependencies
will receive the dependencies of its input artifact.Modifier and Type | Method | Description |
---|---|---|
T |
getParameters() |
The object provided by
TransformSpec.getParameters() when registering the artifact transform. |
void |
transform(TransformOutputs outputs) |
Executes the transform.
|
@Inject T getParameters()
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(Class, Action)
.
void transform(TransformOutputs outputs)
This method must be implemented in the subclass.
outputs
- Receives the outputs of the transform.