例如像這樣的 Groovy 代碼:
dependencies {
classpath 'com.android.tools.build:gradle:0.13.2'
}
我知道classpath是一個函式,你通過傳遞一個字串來呼叫它
但我的問題是:
- 是
dependencies物件的方法project嗎? - 是or
classpath的方法嗎?projectdependencies - 將閉包傳遞給函式是什么意思?
uj5u.com熱心網友回復:
嘗試查看 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
在依賴項塊中add,呼叫 DependencyHandler 的方法,帶有“配置”和依賴項字串。這里的類路徑是用于構建腳本本身的配置
將閉包傳遞給函式是什么意思?
就是這個意思。Closure 是 Groovy 中的一個類,當您在 Gradle 中撰寫它時,您正在創建一個新的閉包并將其作為引數傳遞給函式(參見上面的檔案,它們Closure在許多方法中作為引數參考)。Groovy 檔案可以解釋它們如何比我更好地作業。你可以把它想象成一個 lambda,但它不一樣。它可以在其所有者(通常是定義它的封閉塊/閉包)上執行代碼,并且有時可以針對其分配的委托執行代碼。如果你想弄清楚 Gradle 配置是如何在內部作業的,通常你可以在上面的類中找到你需要的大部分內容(例如,在這種情況下,大多數情況下我們正在呼叫 DependencyHandler 上的方法)。但是,書面檔案涵蓋了最常見的用例。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/493014.html
上一篇:將Gradle構建升級到Kotlin1.7.0后出現“未解決的參考:sourceCompatibility”
下一篇:未找到jOOQ代碼生成策略類
