TransformAction

工件转换操作的接口。

转换操作实现是一个抽象类,实现了 TransformAction.transform(org.gradle.api.artifacts.transform.TransformOutputs) 方法。一个最小的实现可能如下所示

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();
        File output = outputs.file(input.getName() + ".transformed");
        // Do something to generate output from input
    }
}

TransformAction 的实现受以下约束的约束

实现可以通过使用带注解的抽象 getter 方法接收参数。

  • 使用 InputArtifact 注解的抽象 getter 将接收 输入工件 位置,即应该应用转换的文件或目录。
  • 具有 InputArtifactDependencies 的抽象 getter 将接收其输入工件的 依赖项

属性

属性描述
parameters

注册工件转换时,由 TransformSpec.getParameters() 提供对象。

方法

方法描述
transform(outputs)

执行转换。

脚本块

没有脚本块

属性详情

T parameters (只读)

注册工件转换时,由 TransformSpec.getParameters() 提供对象。

不要在您的子类中实现此方法。当通过 DependencyHandler.registerTransform(java.lang.Class, org.gradle.api.Action) 注册转换操作时,Gradle 提供实现。

方法详情

void transform(TransformOutputs outputs)

执行转换。

此方法必须在子类中实现。