Gradle it.name 的 DSL 含义

Gradle DSL meaning for it.name

it.name是什么意思?它是生成的,还是可以指定值? it是否像this,指的是当前对象

 jar.doFirst
 {
     // aggregate all the jars needed at runtime into a local variable (array)
     def manifestClasspath = configurations.runtime.collect { it.name }

     // remove duplicate jar names, and join the array into a single string
     manifestClasspath = manifestClasspath.unique().join(" ")

     // set manifest attributes - mainClassName must be set before it is used here
     manifest.attributes.put("Main-Class", mainClassName)
     manifest.attributes.put("Class-Path", manifestClasspath)
 }

此方法将在 jar 任务之前执行?

参见:

1.

it 是 Groovy 闭包的隐式参数。

configurations.runtime.collect { it.name }

等同于

configurations.runtime.collect { it -> it.name }

name 只是一个 属性。有关 it 的更多信息,请查看 here

2.

是的,会在jar任务之前执行。它是 API 的一部分,例如第 14.7 节中的 here