UP-TO-DATE 检查忽略了输出目录

Outputs dir is ignored by UP-TO-DATE check

我创建了一个插件,它应该在输出目录上有输入,当这两个变化中的任何一个发生变化时,运行。当我在 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 状态的更改。

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

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

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