API 文件 | TransformAction |
---|
用於 Artifact Transform Action 的介面。
Transform Action 實作是一個抽象類別,實作 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 方法接收參數。
- 使用
InputArtifact
註解的抽象 Getter 將接收輸入 Artifact 位置,這是應套用 Transform 的檔案或目錄。 - 具有
InputArtifactDependencies
的抽象 Getter 將接收其輸入 Artifact 的相依性。
屬性 | 描述 |
parameters | 註冊 Artifact Transform 時,由 |
方法 | 描述 |
transform(outputs) | 執行 Transform。 |
註冊 Artifact Transform 時,由 TransformSpec.getParameters()
提供的物件。
請勿在您的子類別中實作此方法。當透過 DependencyHandler.registerTransform(java.lang.Class, org.gradle.api.Action)
註冊 Transform Action 時,Gradle 會提供實作。