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`