API 文件 | 設定 |
---|
宣告實例化和配置 Project
階層結構所需的組態,這些實例將參與建置。
Settings
實例與
設定檔之間存在一對一的關係。在 Gradle 組裝專案以進行建置之前,它會建立一個 settings.gradle
Settings
實例,並針對該實例執行設定檔。
Settings
物件的用途之一是讓您宣告要包含在建置中的專案。您可以使用 Settings.include(java.lang.String[])
方法將專案新增至建置。建置中始終包含一個根專案。它在建立 Settings
物件時自動新增。根專案的名稱預設為包含設定檔的目錄名稱。根專案的專案目錄預設為包含設定檔的目錄。
當專案包含在建置中時,會建立一個 ProjectDescriptor
。您可以使用此描述符來變更專案多個屬性的預設值。
屬性 | 描述 |
buildCache | 建置快取組態。 |
caches | 開發中 儲存在使用者主目錄中快取的組態。 |
extensions | 擴展的容器。 |
gradle | 當前建置的 |
pluginManager | 此外掛感知物件的外掛管理器。 |
plugins | 已套用於此物件的外掛容器。 |
rootDir | 建置的根目錄。根目錄是根專案的專案目錄。 |
rootProject | 建置的根專案。 |
settings | 傳回此設定物件。 |
settingsDir | 建置的設定目錄。設定目錄是包含設定檔的目錄。 |
startParameter | 用於調用此 Gradle 實例的參數集。 |
方法 | 描述 |
apply(closure) | 套用零個或多個外掛或腳本。 |
apply(options) | 使用以 map 形式提供的給定選項,套用外掛或腳本。如果外掛已套用,則不執行任何操作。 |
apply(action) | 套用零個或多個外掛或腳本。 |
buildCache(action) | 配置建置快取。 |
caches(cachesConfiguration) | 開發中 配置儲存在使用者主目錄中快取的設定。 |
findProject(projectDir) | 傳回具有給定專案目錄的專案。 |
findProject(path) | 傳回具有給定路徑的專案。 |
include(projectPaths) | 將給定的專案新增至建置。提供的清單中的每個路徑都被視為要新增至建置的專案的路徑。請注意,這些路徑不是檔案路徑,而是指定新專案在專案階層結構中的位置。因此,提供的路徑必須使用 ':' 字元作為分隔符(而不是 '/')。 |
include(projectPaths) | 將給定的專案新增至建置。提供的清單中的每個路徑都被視為要新增至建置的專案的路徑。請注意,這些路徑不是檔案路徑,而是指定新專案在專案階層結構中的位置。因此,提供的路徑必須使用 ':' 字元作為分隔符(而不是 '/')。 |
includeBuild(rootProject) | 將指定路徑的建置包含到複合建置中。 |
includeBuild(rootProject, configuration) | 將指定路徑的建置包含到複合建置中,並使用提供的組態。 |
includeFlat(projectNames) | 將給定的專案新增至建置。提供的清單中的每個名稱都被視為要新增至建置的專案的名稱。 |
includeFlat(projectNames) | 將給定的專案新增至建置。提供的清單中的每個名稱都被視為要新增至建置的專案的名稱。 |
project(projectDir) | 傳回具有給定專案目錄的專案。 |
project(path) | 傳回具有給定路徑的專案。 |
BuildCacheConfiguration
buildCache
(唯讀)
建置快取組態。
ExtensionContainer
extensions
(唯讀)
擴展的容器。
PluginManager
pluginManager
(唯讀)
此外掛感知物件的外掛管理器。
PluginContainer
plugins
(唯讀)
已套用於此物件的外掛容器。
雖然不建議使用,但最好使用此介面的方法或 PluginAware.getPluginManager()
,而不是使用外掛容器。
使用此介面或 PluginAware.getPluginManager()
上的 'apply' 方法之一來套用外掛,而不是通過外掛容器套用。
使用 PluginManager.hasPlugin(java.lang.String)
或類似方法來查詢外掛的應用程式,而不是通過外掛容器執行此操作。
File
rootDir
(唯讀)
建置的根目錄。根目錄是根專案的專案目錄。
ProjectDescriptor
rootProject
(唯讀)
建置的根專案。
Settings
settings
(唯讀)
傳回此設定物件。
File
settingsDir
(唯讀)
建置的設定目錄。設定目錄是包含設定檔的目錄。
StartParameter
startParameter
(唯讀)
用於調用此 Gradle 實例的參數集。
void
apply
(Closure
closure)
套用零個或多個外掛或腳本。
給定的 closure 用於配置 ObjectConfigurationAction
,它「建置」外掛應用程式。
此方法與 PluginAware.apply(java.util.Map)
的不同之處在於,它允許多次調用配置動作的方法。
使用以 map 形式提供的給定選項,套用外掛或腳本。如果外掛已套用,則不執行任何操作。
給定的 map 作為一系列方法調用應用於新建立的 ObjectConfigurationAction
。也就是說,map 中的每個 key 都應為 ObjectConfigurationAction
的方法名稱,而 value 應為與該方法相容的引數。
以下選項可用
from
:要套用的腳本。接受Project.uri(java.lang.Object)
支援的任何路徑。plugin
:要套用的外掛的 ID 或實作類別。to
:目標委派物件或物件。預設值為此外掛感知物件。使用此選項可配置除此物件之外的物件。
void
apply
(Action
<? super ObjectConfigurationAction
>
action)
Action
<? super ObjectConfigurationAction
>套用零個或多個外掛或腳本。
給定的 closure 用於配置 ObjectConfigurationAction
,它「建置」外掛應用程式。
此方法與 PluginAware.apply(java.util.Map)
的不同之處在於,它允許多次調用配置動作的方法。
void
buildCache
(Action
<? super BuildCacheConfiguration
>
action)
Action
<? super BuildCacheConfiguration
>配置建置快取。
void
caches
(Action
<? super CacheConfigurations
>
cachesConfiguration)
Action
<? super CacheConfigurations
>注意:此方法正在開發中,並且可能在 Gradle 的未來版本中變更。
配置儲存在使用者主目錄中快取的設定。
ProjectDescriptor
findProject
(File
projectDir)
傳回具有給定專案目錄的專案。
ProjectDescriptor
findProject
(String
path)
傳回具有給定路徑的專案。
將給定的專案新增至建置。提供的清單中的每個路徑都被視為要新增至建置的專案的路徑。請注意,這些路徑不是檔案路徑,而是指定新專案在專案階層結構中的位置。因此,提供的路徑必須使用 ':' 字元作為分隔符(而不是 '/')。
所提供路徑的最後一個元素用作專案名稱。提供的路徑會轉換為相對於根專案目錄的專案目錄。專案目錄可以在專案包含後通過變更 'projectDir' 屬性來更改(請參閱 ProjectDescriptor.setProjectDir(java.io.File)
)
例如,路徑 a:b
會新增一個路徑為 :a:b
、名稱為 b
且專案目錄為 $rootDir/a/b
的專案。如果路徑為 :a
、名稱為 a
且專案目錄為 $rootDir/a
的專案尚不存在,它也會新增該專案。
一些使用專案路徑的常見範例包括
// include two projects, 'foo' and 'foo:bar' // directories are inferred by replacing ':' with '/' include(['foo:bar']) // include one project whose project dir does not match the logical project path include(['baz']) project(':baz').projectDir = file('foo/baz') // include many projects whose project dirs do not match the logical project paths file('subprojects').eachDir { dir -> include([dir.name]) project(":${dir.name}").projectDir = dir }
void
include
(String
...
projectPaths)
String
...將給定的專案新增至建置。提供的清單中的每個路徑都被視為要新增至建置的專案的路徑。請注意,這些路徑不是檔案路徑,而是指定新專案在專案階層結構中的位置。因此,提供的路徑必須使用 ':' 字元作為分隔符(而不是 '/')。
所提供路徑的最後一個元素用作專案名稱。提供的路徑會轉換為相對於根專案目錄的專案目錄。專案目錄可以在專案包含後通過變更 'projectDir' 屬性來更改(請參閱 ProjectDescriptor.setProjectDir(java.io.File)
)
例如,路徑 a:b
會新增一個路徑為 :a:b
、名稱為 b
且專案目錄為 $rootDir/a/b
的專案。如果路徑為 :a
、名稱為 a
且專案目錄為 $rootDir/a
的專案尚不存在,它也會新增該專案。
一些使用專案路徑的常見範例包括
// include two projects, 'foo' and 'foo:bar' // directories are inferred by replacing ':' with '/' include 'foo:bar' // include one project whose project dir does not match the logical project path include 'baz' project(':baz').projectDir = file('foo/baz') // include many projects whose project dirs do not match the logical project paths file('subprojects').eachDir { dir -> include dir.name project(":${dir.name}").projectDir = dir }
void
includeBuild
(Object
rootProject)
將指定路徑的建置包含到複合建置中。
void
includeBuild
(Object
rootProject, Action
<ConfigurableIncludedBuild
>
configuration)
Action
<ConfigurableIncludedBuild
>將指定路徑的建置包含到複合建置中,並使用提供的組態。
將給定的專案新增至建置。提供的清單中的每個名稱都被視為要新增至建置的專案的名稱。
提供的名稱會轉換為相對於根專案目錄的父目錄的專案目錄。
例如,名稱 a
會新增一個路徑為 :a
、名稱為 a
且專案目錄為 $rootDir/../a
的專案。
void
includeFlat
(String
...
projectNames)
String
...將給定的專案新增至建置。提供的清單中的每個名稱都被視為要新增至建置的專案的名稱。
提供的名稱會轉換為相對於根專案目錄的父目錄的專案目錄。
例如,名稱 a
會新增一個路徑為 :a
、名稱為 a
且專案目錄為 $rootDir/../a
的專案。
ProjectDescriptor
project
(File
projectDir)
傳回具有給定專案目錄的專案。
ProjectDescriptor
project
(String
path)
傳回具有給定路徑的專案。