gradle - 如何在编写目标时使用/引用 gradle 插件属性?

标签 gradle groovy javadoc

假设我想使用 destinationDir property来自Javadoc gradle 插件。我有文档,其中仅介绍了以下属性:

File destinationDir

如何使用这些信息?

javadoc << {

    FileTree docFilesTree = fileTree(dir: 'resources/doc-files')

    File destinationDir

    copy {
        from docFilesTree
        to destinationDir
    }
}

我收到错误:

No signature of method: org.gradle.api.internal.file.copy.CopySpecWrapper_Decorated.to() is applicable for argument types: (null) values: [null]

显然意味着声明与 groovy 中的初始化也不一样:)

但是如何使用这个属性呢?

更新

好的,如果我这样做:

javadoc << {

    FileTree docFilesTree = fileTree(dir: 'resources/doc-files')

    copy {
        from docFilesTree
        into destinationDir
    }    
}

它不咒骂,但也不复制任何内容。

更新2

实际上已经回答了明确的问题:要引用插件属性,应该只引用它的变量名称。但为了精确起见,我想知道是否存在任何条件?也许可以引用destinationDir仅在内部 javadoc << {} ?或者可以在build.gradle中的任何地方引用它。添加插件后文件?

最佳答案

May be it is possible to refer destinationDir only inside javadoc << {}? Or it is possible to refer it inside any place in build.gradle file once plugin is added?

正如我在评论中所写的destinationDir是在任务上定义的,而不是在插件上定义的,因此您可以在任何地方引用它:

javadoc.destinationDir

它适用于 << {}自行动{}是一个闭包。如果闭包在其内部没有找到属性,它会在 delegate 中搜索它。然后owner 。在这种情况下,委托(delegate)被设置为任务本身。这实际上是绝妙的东西。

关于gradle - 如何在编写目标时使用/引用 gradle 插件属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36057959/

相关文章:

java - 如何根据 Eclipse 中的字段注释自动为 getter/setter 生成注释?

gradle - 如何在 intellij 中处理多个 gradle 项目和依赖项

list - Groovy 方法从列表中获取随机元素

c++ - JAutodoc 类 C++ 插件

groovy - 在声明性 Jenkins 管道中的环境变量中存储值列表

groovy - 如何使用 Groovy HTTPBuilder RESTClient 构建 HTTP post

java - 如何以最简单的方式从源代码编译 javadoc?

Android Studio 我不断收到 Gradle 错误 "The process cannot access the file because it is being used by another process"

android - 更新到android gradle插件3.5后出现proguard问题

gradle - 如何检索存在于安慰队列中的所有消息