API 文件 | Gradle |
---|
代表 Gradle 的調用。
您可以透過呼叫 Project.getGradle()
來取得 Gradle
實例。
屬性 | 描述 |
extensions | 擴充功能的容器。 |
gradle | 傳回此 |
gradleHomeDir | Gradle 主目錄(如果有的話)。此目錄是包含執行此建置的 Gradle 發行版本的目錄。 |
gradleUserHomeDir | Gradle 使用者主目錄。此目錄用於快取下載的資源、編譯的建置腳本等等。 |
gradleVersion | 目前的 Gradle 版本。 |
includedBuilds | 此建置的包含建置。 |
parent | 此建置的父建置(如果有的話)。 |
pluginManager | 此外掛感知物件的外掛管理器。 |
plugins | 已套用至此物件的外掛容器。 |
rootProject | 此建置的根專案。 |
startParameter | 用於啟動此建置的 |
taskGraph | 此建置的 |
方法 | 描述 |
addBuildListener(buildListener) | 將 |
addListener(listener) | 將指定的監聽器新增至此建置。監聽器可以實作任何給定的監聽器介面 |
addProjectEvaluationListener(listener) | 將監聽器新增至此建置,以接收專案評估的通知。 |
afterProject(closure) | 新增一個閉包,以便在專案評估後立即呼叫。專案會作為第一個參數傳遞給閉包。專案評估失敗(如果有的話)會作為第二個參數傳遞。這兩個參數都是選用的。 |
afterProject(action) | 新增一個動作,以便在專案評估後立即呼叫。 |
allprojects(action) | 新增一個動作,以針對此建置的所有專案執行。該動作會立即針對所有已可用的專案執行。它也會在後續專案新增至此建置時執行。 |
apply(closure) | 套用零個或多個外掛或腳本。 |
apply(options) | 使用以 Map 形式提供的指定選項,套用外掛或腳本。如果外掛程式已套用,則不執行任何動作。 |
apply(action) | 套用零個或多個外掛或腳本。 |
beforeProject(closure) | 新增一個閉包,以便在專案評估前立即呼叫。專案會作為參數傳遞給閉包。 |
beforeProject(action) | 新增一個動作,以便在專案評估前立即呼叫。 |
beforeSettings(closure) | 新增一個動作,以便在建置設定載入和評估之前呼叫。 |
beforeSettings(action) | 新增一個動作,以便在建置設定載入和評估之前呼叫。 |
buildFinished(closure) | 已過時 新增一個閉包,以便在建置完成時呼叫。所有選取的 Task 都已執行。 |
buildFinished(action) | 已過時 新增一個動作,以便在建置完成時呼叫。所有選取的 Task 都已執行。 |
includedBuild(name) | 傳回此建置中具有指定名稱的包含建置。 |
projectsEvaluated(closure) | 新增一個閉包,以便在已評估建置的所有專案時呼叫。專案物件已完全設定,且已準備好用於填入 Task 圖表。此 |
projectsEvaluated(action) | 新增一個動作,以便在已評估建置的所有專案時呼叫。專案物件已完全設定,且已準備好用於填入 Task 圖表。 |
projectsLoaded(closure) | 新增一個閉包,以便在已從設定建立建置的專案時呼叫。尚未評估任何專案。此 |
projectsLoaded(action) | 新增一個動作,以便在已從設定建立建置的專案時呼叫。尚未評估任何專案。 |
removeListener(listener) | 從此建置移除指定的監聽器。 |
removeProjectEvaluationListener(listener) | 從此建置移除指定的監聽器。 |
rootProject(action) | 新增一個動作,以針對此建置的根專案執行。如果根專案已可用,則會立即執行動作。否則,會在根專案變成可用時執行動作。 |
settingsEvaluated(closure) | 新增一個閉包,以便在已載入和評估建置設定時呼叫。設定物件已完全設定,且已準備好用於載入建置專案。 |
settingsEvaluated(action) | 新增一個動作,以便在已載入和評估建置設定時呼叫。設定物件已完全設定,且已準備好用於載入建置專案。 |
useLogger(logger) | 已過時 使用指定的物件作為記錄器。記錄器物件可以實作 |
ExtensionContainer
extensions
(唯讀)
擴充功能的容器。
Gradle
gradle
(唯讀)
傳回此 Gradle
實例。此方法在初始化腳本中很有用,可明確存取 Gradle 屬性和方法。例如,使用 gradle.parent
可以比使用 parent
更清楚地表達您的意圖。此屬性也允許您從屬性可能被隱藏的範圍(例如,從方法或閉包)存取 Gradle 屬性。
File
gradleHomeDir
(唯讀)
Gradle 主目錄(如果有的話)。此目錄是包含執行此建置的 Gradle 發行版本的目錄。
當使用「Gradle Daemon」時,這可能與啟動建置時使用的 Gradle 發行版本不同。如果現有的 Daemon 程序正在執行,且被視為相容(例如,具有所需的 JVM 特性),則可能會使用此 Daemon 來代替啟動新程序,而且它可能是從不同的「Gradle 主目錄」啟動的。但是,它保證是相同版本的 Gradle。如需有關 Gradle Daemon 的詳細資訊,請參閱使用者手冊。
File
gradleUserHomeDir
(唯讀)
Gradle 使用者主目錄。此目錄用於快取下載的資源、編譯的建置腳本等等。
String
gradleVersion
(唯讀)
目前的 Gradle 版本。
Collection
<IncludedBuild
>
includedBuilds
(唯讀)
Collection
<IncludedBuild
>此建置的包含建置。
Gradle
parent
(唯讀)
此建置的父建置(如果有的話)。
PluginManager
pluginManager
(唯讀)
此外掛感知物件的外掛管理器。
PluginContainer
plugins
(唯讀)
已套用至此物件的外掛容器。
雖然未過時,但建議使用此介面的方法或 PluginAware.getPluginManager()
,而不是使用外掛容器。
使用此介面或 PluginAware.getPluginManager()
上的 'apply' 方法之一來套用外掛,而不是透過外掛容器套用。
使用 PluginManager.hasPlugin(java.lang.String)
或類似方法來查詢外掛的套用,而不是透過外掛容器執行此操作。
Project
rootProject
(唯讀)
此建置的根專案。
StartParameter
startParameter
(唯讀)
用於啟動此建置的 StartParameter
。
TaskExecutionGraph
taskGraph
(唯讀)
此建置的 TaskExecutionGraph
。
void
addBuildListener
(BuildListener
buildListener)
將 BuildListener
新增至此 Build 實例。監聽器會收到建置執行期間發生的事件通知。
void
addListener
(Object
listener)
將指定的監聽器新增至此建置。監聽器可以實作任何給定的監聽器介面
以下監聽器類型可以使用,但在啟用組態快取時不受支援。它們的使用已過時,並且在未來的 Gradle 版本中,新增這些類型的監聽器將會變成錯誤
ProjectEvaluationListener
addProjectEvaluationListener
(ProjectEvaluationListener
listener)
將監聽器新增至此建置,以接收專案評估的通知。
void
afterProject
(Closure
closure)
新增一個閉包,以便在專案評估後立即呼叫。專案會作為第一個參數傳遞給閉包。專案評估失敗(如果有的話)會作為第二個參數傳遞。這兩個參數都是選用的。
新增一個動作,以針對此建置的所有專案執行。該動作會立即針對所有已可用的專案執行。它也會在後續專案新增至此建置時執行。
void
apply
(Closure
closure)
套用零個或多個外掛或腳本。
給定的閉包用於設定 ObjectConfigurationAction
,它會「建置」外掛應用程式。
此方法與 PluginAware.apply(java.util.Map)
的不同之處在於,它允許多次調用組態動作的方法。
使用以 Map 形式提供的指定選項,套用外掛或腳本。如果外掛程式已套用,則不執行任何動作。
給定的 Map 會作為一系列方法呼叫套用至新建立的 ObjectConfigurationAction
。也就是說,Map 中的每個鍵都應該是 ObjectConfigurationAction
的方法名稱,而值應該是該方法的相容引數。
以下選項可用
from
:要套用的腳本。接受Project.uri(java.lang.Object)
支援的任何路徑。plugin
:要套用的外掛的 ID 或實作類別。to
:目標委派物件或物件。預設值是此外掛感知物件。使用此選項來設定此物件以外的物件。
void
apply
(Action
<? super ObjectConfigurationAction
>
action)
Action
<? super ObjectConfigurationAction
>套用零個或多個外掛或腳本。
給定的閉包用於設定 ObjectConfigurationAction
,它會「建置」外掛應用程式。
此方法與 PluginAware.apply(java.util.Map)
的不同之處在於,它允許多次調用組態動作的方法。
void
beforeProject
(Closure
closure)
新增一個閉包,以便在專案評估前立即呼叫。專案會作為參數傳遞給閉包。
void
beforeSettings
(Closure
<?>
closure)
Closure
<?>新增一個動作,以便在建置設定載入和評估之前呼叫。
void
buildFinished
(Closure
closure)
注意:此方法已過時,並將在下一個 Gradle 主要版本中移除。
新增一個閉包,以便在建置完成時呼叫。所有選取的 Task 都已執行。BuildResult
實例會作為參數傳遞給閉包。
void
buildFinished
(Action
<? super BuildResult
>
action)
Action
<? super BuildResult
>注意:此方法已過時,並將在下一個 Gradle 主要版本中移除。
新增一個動作,以便在建置完成時呼叫。所有選取的 Task 都已執行。
IncludedBuild
includedBuild
(String
name)
傳回此建置中具有指定名稱的包含建置。
void
projectsEvaluated
(Closure
closure)
新增一個閉包,以便在已評估建置的所有專案時呼叫。專案物件已完全設定,且已準備好用於填入 Task 圖表。此 Gradle
實例會作為參數傳遞給閉包。
新增一個動作,以便在已評估建置的所有專案時呼叫。專案物件已完全設定,且已準備好用於填入 Task 圖表。
void
projectsLoaded
(Closure
closure)
新增一個閉包,以便在已從設定建立建置的專案時呼叫。尚未評估任何專案。此 Gradle
實例會作為參數傳遞給閉包。
從初始化腳本中掛鉤到 projectsLoaded 以設定 buildscript 類別路徑的範例。
//init.gradle gradle.projectsLoaded { rootProject.buildscript { repositories { //... } dependencies { //... } } }
void
removeListener
(Object
listener)
從此建置移除指定的監聽器。
void
removeProjectEvaluationListener
(ProjectEvaluationListener
listener)
從此建置移除指定的監聽器。
新增一個動作,以針對此建置的根專案執行。如果根專案已可用,則會立即執行動作。否則,會在根專案變成可用時執行動作。
void
settingsEvaluated
(Closure
closure)
新增一個閉包,以便在已載入和評估建置設定時呼叫。設定物件已完全設定,且已準備好用於載入建置專案。Settings
物件會作為參數傳遞給閉包。
新增一個動作,以便在已載入和評估建置設定時呼叫。設定物件已完全設定,且已準備好用於載入建置專案。
void
useLogger
(Object
logger)
注意:此方法已過時,並將在下一個 Gradle 主要版本中移除。
使用指定的物件作為記錄器。記錄器物件可以實作 Gradle.addListener(java.lang.Object)
支援的任何監聽器介面。
每個監聽器介面都正好有一個關聯的記錄器。當您使用給定監聽器類型的記錄器呼叫此方法時,新的記錄器將取代目前與監聽器類型關聯的任何記錄器。這可讓您針對特定類型的事件,選擇性地將 Gradle 提供的標準記錄取代為您自己的實作。