Annotation Type InputArtifact


  • @Retention(RUNTIME)
    @Target(METHOD)
    @Documented
    @InjectionPointQualifier(supportedProviderTypes=FileSystemLocation.class)
    public @interface InputArtifact
    Attach this annotation to an abstract getter that should receive the input artifact for an artifact transform. This is the artifact that the transform is applied to.

    The abstract getter must be declared as type Provider<FileSystemLocation>.

    Example usage:

     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();
             // Do something with the input
         }
     }
     
    Since:
    5.3