我创建了一个应该在输出目录上有输入的插件,当这两个中的任何一个发生变化时运行。当我在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状态的更改。
答案 0 :(得分:1)
我在任务类上使用了注释,这些注释在正确的时间和工作中被调用。
@OutputDirectory
public File getOutputDir() {
return getProject().getRootProject().file(extension.getOutputPath());
}
@InputDirectory
public File getInputsDir() {
return getProject().getRootProject().file(extension.getPath());
}