例如这样的Groovy代码:
dependencies { classpath 'com.android.tools.build:gradle:0.13.2' }
我知道classpath是一个函数,通过传递字符串来调用它但我的问题是:
classpath
dependencies
project
wnvonmuf1#
试着看看API文档,或者浏览源代码。这有助于你理解它。也就是说,有各种各样的其他事情发生在委托/所有者等等,所以如果你不习惯Groovy的这一方面,检查时并不总是清楚这些东西被调用了。文档中的描述和示例可能对一般用途更有用。dependencies是Project上的一个方法,其类型为DependencyHandler。(您经常使用的许多内容(如果不是大多数的话)都位于Project上)https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html#dependencies-groovy.lang.Closure- https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/dsl/DependencyHandler.html在dependencies块中,调用DependencyHandler的add方法,使用“configuration”和依赖项字符串。这里的classpath是用于构建脚本本身的配置将闭包传递给函数意味着什么?Closure是Groovy中的一个类,当您在Gradle中编写这个类时,您将创建一个新的闭包,并将其作为参数传递给函数(参见上面的文档,它们在许多方法中引用Closure作为参数)Groovy docs可以比我更好地解释它们是如何工作的,你可以把它看作是一个lambda,但它不一样它可以在它的所有者上执行代码(通常是定义它的封闭块/闭包),有时可以针对其分配的委托执行。如果您试图了解Gradle配置的内部工作方式,* 通常 * 你可以在上面的类中找到你所需要的大部分内容(例如,在这个例子中,我们主要是在DependencyHandler上调用方法)。
add
Closure
1条答案
按热度按时间wnvonmuf1#
试着看看API文档,或者浏览源代码。这有助于你理解它。也就是说,有各种各样的其他事情发生在委托/所有者等等,所以如果你不习惯Groovy的这一方面,检查时并不总是清楚这些东西被调用了。文档中的描述和示例可能对一般用途更有用。
dependencies
是Project上的一个方法,其类型为DependencyHandler。(您经常使用的许多内容(如果不是大多数的话)都位于Project上)https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html#dependencies-groovy.lang.Closure- https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/dsl/DependencyHandler.html在dependencies块中,调用DependencyHandler的
add
方法,使用“configuration”和依赖项字符串。这里的classpath是用于构建脚本本身的配置将闭包传递给函数意味着什么?
Closure是Groovy中的一个类,当您在Gradle中编写这个类时,您将创建一个新的闭包,并将其作为参数传递给函数(参见上面的文档,它们在许多方法中引用
Closure
作为参数)Groovy docs可以比我更好地解释它们是如何工作的,你可以把它看作是一个lambda,但它不一样它可以在它的所有者上执行代码(通常是定义它的封闭块/闭包),有时可以针对其分配的委托执行。如果您试图了解Gradle配置的内部工作方式,* 通常 * 你可以在上面的类中找到你所需要的大部分内容(例如,在这个例子中,我们主要是在DependencyHandler上调用方法)。