UP-TO-DATE检查忽略输出dir

时间:2016-05-02 20:32:11

标签: gradle gradle-plugin

我创建了一个应该在输出目录上有输入的插件,当这两个中的任何一个发生变化时运行。当我在build.gradle中为单个任务定义它时,它运行正常。当Gradle API在Java中定义时,只有定义为Inputs的目录才会触发重新运行任务。

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

尝试设置setDidWork(true);,但这没有帮助。并且输出的任何更改都不会触发此任务的UP-TO-DATE状态的更改。

1 个答案:

答案 0 :(得分:1)

我在任务类上使用了注释,这些注释在正确的时间和工作中被调用。

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

@InputDirectory
public File getInputsDir() {
    return  getProject().getRootProject().file(extension.getPath());
}