2016-05-02 10 views
3

これらの2つの変更のいずれかが実行されたときに実行するように、出力ディレクトリに入力ディレクトリを持つはずのプラグインを作成しました。私がbuild.gradleで単一タスクのために定義したとき、うまくいきました。 JavaでGradle APIで定義されている場合、入力として定義されたディレクトリだけがタスクの再実行をトリガーします。出力dirはUP-DATEチェックで無視されます

task.getInputs().dir(target.file("./src/main/res/values/")); 
task.getOutputs().dir(target.file("./inputs/")); 

試し設定setDidWork(true);しかし、それは役に立ちませんでした。出力の変更によって、このタスクのUP-TO-DATE状態の変更がトリガーされることはありません。

+0

私は同様の問題に直面していましたが、それはgradleを3.2から3.4.1にアップデートした後に消えました。 – Ilya

答えて

1

私は、正しい時間と仕事で呼び出されるタスククラスにアノテーションを使用しました。

@OutputDirectory 
public File getOutputDir() { 
    return getProject().getRootProject().file(extension.getOutputPath()); 
} 

@InputDirectory 
public File getInputsDir() { 
    return getProject().getRootProject().file(extension.getPath()); 
} 
関連する問題