【问题标题】:Task of type Javadoc is always up to dateJavadoc 类型的任务始终是最新的
【发布时间】:2016-07-05 10:45:13
【问题描述】:

我有这样一个 Javadoc 类型的任务:

class CreateJavadocsTask extends Javadoc{
@TaskAction
def action1()
{
        project.source = project.android.sourceSets.main.java.srcDirs
        options.linkSource true
        classpath += project.files(project.android.getBootClasspath().join(File.pathSeparator))
        failOnError false
}

}

此任务给出一个错误,即任务是最新的,因为它没有源文件:

Baloe 是堆栈跟踪:

使用增量 javac 编译。 增量java编译是一个孵化特性。 不使用增量 javac 编译。 使用增量 javac 编译。 不使用增量 javac 编译。 使用增量 javac 编译。 所有项目都进行了评估。 [buildinfo] 不为此构建使用 buildInfo 属性文件。 从项目中选择的主要任务“createJavadocs12”: 要执行的任务:[task ':bluetooth:createJavadocs12'] :bluetooth:createJavadocs12 (Thread[main,5,main]) 已启动。 :蓝牙:创建Javadocs12 跳过任务 ':bluetooth:createJavadocs12' 因为它没有源文件。 :bluetooth:createJavadocs12 最新 :bluetooth:createJavadocs12 (Thread[main,5,main]) 完成。耗时 0.034 秒。

【问题讨论】:

  • 你想达到什么目的?为什么要对 Javadoc 任务进行子类化?
  • 我想把这个任务做成一个单独的类,然后添加到插件类中。

标签: gradle


【解决方案1】:

您在执行期间分配任务的输入。您需要在任务操作的外部声明输入。否则,Gradle 将无法在配置期间确定任务的输入/输出,因此将其标记为最新。

【讨论】:

    猜你喜欢
    • 2018-09-12
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多