Interface TransformAction<T extends TransformParameters>

Type Parameters:
T - Parameter type for the transform action. Should be TransformParameters.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.
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.
Since:
5.3
  • Method Details

    • getParameters

      @Inject T getParameters()
      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(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.