Gradle/Groovy 语法困惑

标签 gradle groovy

谁能解释/评论这部分 Groovy 代码?

task copyImageFolders(type: Copy) {
    from('images') {
        include '*.jpg'
        into 'jpeg'
    }

    from('images') {
        include '*.gif'
        into 'gif'
    }

    into 'build'
}

更具体地说是from method . 这是这个

from(sourcePaths)

或者

from(sourcePath, configureAction)

如果它有 2 个参数,为什么要这样写而不是这样:

 from('images', {
     include '*.jpg'
     into 'jpeg'
 })

最佳答案

简短的回答是它正在调用 from(sourcePath, configureAction)

Groovy 在许多情况下都有可选的括号,并接受括号外的最后一个参数(如果它是闭包),在这种情况下,这就是您传递给 from() 的闭包。

This是一篇很好的博文,如果您想要更多示例和 this,可以将闭包传递给 Groovy 中的方法的不同方式。一般提供更多可选括号的示例。

关于Gradle/Groovy 语法困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49996424/

相关文章:

java - 如何使用groovy从soapui Json Response构造JsonPath?

json - 在Elasticsearch中按脚本输出过滤

groovy - Elasticsearch中两个字段的划分

java - Grails 一对多关系

java - 如何在Gradle构建期间包括外部Webapp文件

unit-testing - 在 IntelliJ 中运行单元和集成测试

android - 如何在gradle文件中使用变量?

java - Firebase 设置-错误 : Failed to resolve: com. google.firebase :firebase-core:12. 0.1

gradle - 获取 gradle 以忽略 jar 名称中的版本号

java - 使用 jdk8 和 groovy 2.4.4- java.lang.InknownClassChangeError 运行 job-dsl-plugin