Annotation Type CacheableTransform


@Retention(RUNTIME) @Target(TYPE) public @interface CacheableTransform
Attaching this annotation to a TransformAction type it indicates that the build cache should be used for artifact transforms of this type.

Only an artifact transform that produces reproducible and relocatable outputs should be marked with CacheableTransform.

Normalization must be specified for each file parameter of a cacheable transform. For example:

 import org.gradle.api.artifacts.transform.TransformParameters;

 @CacheableTransform
 public abstract class MyTransform implements TransformAction<TransformParameters.None> {
     @PathSensitive(PathSensitivity.NAME_ONLY)
     @InputArtifact
     public abstract Provider<FileSystemLocation> getInputArtifact();

     @Classpath
     @InputArtifactDependencies
     public abstract FileCollection getDependencies();

     @Override
     public void transform(TransformOutputs outputs) {
         // ...
     }
 }
 
Since:
5.3
See Also: