# Package-level declarations

Provides classes, interfaces and annotations for registering and implementing artifact transforms.

To register an artifact transform, use registerTransform. This allows you to register a org.gradle.api.artifacts.transform.TransformAction using org.gradle.api.artifacts.transform.TransformSpec.

If you want to create a new artifact transform action, have a look at org.gradle.api.artifacts.transform.TransformAction.

## Types

CacheableTransform
Link copied to clipboard
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = [ElementType.TYPE])
annotation class CacheableTransform
Attaching this annotation to a TransformAction type it indicates that the build cache should be used for artifact transforms of this type.
InputArtifact
Link copied to clipboard
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = [ElementType.METHOD])
@Documented
@InjectionPointQualifier(supportedProviderTypes = [FileSystemLocation::class])
annotation class InputArtifact
Attach this annotation to an abstract getter that should receive the input artifact for an artifact transform.
InputArtifactDependencies
Link copied to clipboard
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = [ElementType.METHOD])
@Documented
@InjectionPointQualifier(supportedTypes = FileCollection::class)
annotation class InputArtifactDependencies
Attach this annotation to an abstract getter that should receive the artifact dependencies of the InputArtifact of an artifact transform.
TransformAction
Link copied to clipboard
interface TransformAction<T : TransformParameters?>
Interface for artifact transform actions.
TransformOutputs
Link copied to clipboard
interface TransformOutputs
The outputs of the artifact transform.
TransformParameters
Link copied to clipboard
interface TransformParameters
Marker interface for parameter objects to TransformActions.
TransformSpec
Link copied to clipboard
interface TransformSpec<T : TransformParameters?>
Base configuration for artifact transform registrations.