TransformAction

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 的實作受以下限制約束

實作可以透過使用註解的抽象 Getter 方法接收參數。

  • 使用 InputArtifact 註解的抽象 Getter 將接收輸入 Artifact 位置,這是應套用 Transform 的檔案或目錄。
  • 具有 InputArtifactDependencies 的抽象 Getter 將接收其輸入 Artifact 的相依性

屬性

屬性描述
parameters

註冊 Artifact Transform 時,由 TransformSpec.getParameters() 提供的物件。

方法

方法描述
transform(outputs)

執行 Transform。

腳本區塊

無腳本區塊

屬性詳細資訊

T parameters (唯讀)

註冊 Artifact Transform 時,由 TransformSpec.getParameters() 提供的物件。

請勿在您的子類別中實作此方法。當透過 DependencyHandler.registerTransform(java.lang.Class, org.gradle.api.Action) 註冊 Transform Action 時,Gradle 會提供實作。

方法詳細資訊

void transform(TransformOutputs outputs)

執行 Transform。

此方法必須在子類別中實作。