API文档: | 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 的实现受到以下限制:
- 不要
TransformAction.getParameters()
在你的类中实现,该方法将由 Gradle 实现。 - 实现可能只有一个默认构造函数。
实现可以使用带注释的抽象 getter 方法接收参数。
- 用 注释的抽象 getter
InputArtifact
将接收输入工件位置,即应应用转换的文件或目录。 - 抽象 getter
InputArtifactDependencies
将接收其输入工件的依赖项。
财产 | 描述 |
parameters |
|
方法 | 描述 |
transform(outputs) | 执行转换。 |
TransformSpec.getParameters()
注册工件转换时
提供的对象。
不要在您的子类中实现此方法。 Gradle 在通过 注册转换操作时提供了实现DependencyHandler.registerTransform(java.lang.Class, org.gradle.api.Action)
。