TransformAction

API 文档TransformAction

artifact 转换操作的接口。

转换操作实现是一个抽象类,它实现了 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 将接收 输入 artifact 位置,该位置是要应用转换的文件或目录。
  • 带有 InputArtifactDependencies 的抽象 getter 将接收其输入 artifact 的依赖项

属性

属性描述
parameters

在注册 artifact 转换时,通过 TransformSpec.getParameters() 提供的对象。

方法

方法描述
transform(outputs)

执行转换。

脚本块

没有脚本块

属性详情

T parameters (只读)

在注册 artifact 转换时,通过 TransformSpec.getParameters() 提供的对象。

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

方法详情

void transform(TransformOutputs outputs)

执行转换。

子类必须实现此方法。