CacheableTransform (Gradle API 9.1.0)
Description: declaration: package: org.gradle.api.artifacts.transform, annotation type: CacheableTransform

Package org.gradle.api.artifacts.transform

# 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:
  - `DisableCachingByDefault`