Gradle Javadoc类型的任务作为一个单独的groovy类

Gradle Javadoc类型的任务作为一个单独的groovy类,gradle,Gradle,我有一个Javadoc类型的任务,如下所示: class CreateJavadocsTask extends Javadoc{ @TaskAction def action1() { project.source = project.android.sourceSets.main.java.srcDirs options.linkSource true classpath += project.files(project.android.getBootClasspat

我有一个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是stacktrace:


使用增量javac编译。增量java编译是一个酝酿中的特性。不使用增量javac编译。使用增量javac编译。不使用增量javac编译。使用增量javac编译。对所有项目进行评估。[buildinfo]未对此生成使用buildinfo属性文件。从项目中选择的主要任务“createJavadocs12”:要执行的任务:[任务]:蓝牙:createJavadocs12']:蓝牙:createJavadocs12(线程[main,5,main])已启动:bluetooth:createJavadocs12正在跳过任务“:bluetooth:createJavadocs12”,因为它没有源文件:蓝牙:createJavadocs12最新:蓝牙:createJavadocs12(线程[main,5,main])已完成。花了0.034秒。

经过一番努力,终于成功了

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
}
}

最后,经过一番努力,我终于成功了

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
}
}

您所做的操作实际上看起来像配置。为什么您需要子类
Javadoc
?这是必需的。我需要将所有任务作为独立类编写。任何关于如何将其作为一个单独的类编写的想法,都可以在plugin类中使用,但是我想让它作为一个单独的类来使用,您所做的操作实际上看起来像配置。为什么您需要子类
Javadoc
?这是必需的。我需要将所有任务作为独立类编写。任何关于如何将其作为一个单独的类编写的想法,都可以在plugin类中使用,但是我想让它作为一个单独的类来使用