基礎插件提供了一些大多數建置通用的任務和慣例,並為建置添加了結構,以提高其運行方式的一致性。它最重要的貢獻是一組 生命週期 任務,作為其他插件和建置作者提供的更具體任務的總括。
任務
clean
—Delete
-
刪除建置目錄及其中的所有內容,即 layout.buildDirectory 專案屬性指定的路徑。
check
— 生命週期任務-
插件和建置作者應將其驗證任務(例如運行測試的任務)附加到此生命週期任務,使用
check.dependsOn(task)
。 assemble
— 生命週期任務-
插件和建置作者應將產生發行版和其他可消耗構件的任務附加到此生命週期任務。例如,
jar
產生 Java 函式庫的可消耗構件。使用assemble.dependsOn(task)
將任務附加到此生命週期任務。 build
— 生命週期任務-
依賴於:
check
、assemble
旨在建置所有內容,包括運行所有測試、產生生產構件和產生文件。您可能很少直接將具體任務附加到
build
,因為assemble
和check
通常更合適。 buildConfiguration
— 任務規則-
組裝附加到命名配置的那些構件。例如,
buildRuntimeElements
將執行建立附加到runtimeElements
配置的任何構件所需的任何任務。 cleanTask
— 任務規則-
移除任務的 定義輸出,例如
cleanJar
將刪除 Java 插件的jar
任務產生的 JAR 檔案。
依賴管理
基礎插件沒有添加任何 依賴關係的配置,但它確實添加了以下配置
default
-
當執行不帶請求屬性的依賴解析時使用的後備配置。
新的建置和插件不應使用
default
配置! 它僅為了向後相容性而保留。依賴解析應使用請求屬性執行。 archives
-
在
archives
配置上定義的所有構件都會自動由assemble
任務建置。新的建置和插件不應使用
archives
配置! 它僅為了向後相容性而保留。相反,任務依賴關係應直接在assemble
任務上宣告。
貢獻的擴展
基礎插件將 base
擴展 添加到專案。這允許在專用的 DSL 區塊內配置以下屬性。
base
擴展base {
archivesName = "gradle"
distsDirectory = layout.buildDirectory.dir("custom-dist")
libsDirectory = layout.buildDirectory.dir("custom-libs")
}
base {
archivesName = "gradle"
distsDirectory = layout.buildDirectory.dir('custom-dist')
libsDirectory = layout.buildDirectory.dir('custom-libs')
}
archivesName
— 預設值:$project.name
-
為歸檔任務提供預設的 AbstractArchiveTask.getArchiveBaseName()。
distsDirectory
— 預設值:layout.buildDirectory.dir("distributions")
-
發行版歸檔(即非 JAR 檔案)建立所在的目錄的預設名稱。
libsDirectory
— 預設值:layout.buildDirectory.dir("libs")
-
函式庫歸檔(即 JAR 檔案)建立所在的目錄的預設名稱。
該插件還為任何擴展 AbstractArchiveTask 的任務上的以下屬性提供預設值
destinationDirectory
-
對於非 JAR 歸檔,預設為
distsDirectory
,對於 JAR 及其衍生檔案(例如 WAR 檔案),預設為libsDirectory
。 archiveVersion
-
如果專案沒有版本,則預設為
$project.version
或 'unspecified'。 archiveBaseName
-
預設為
$archivesBaseName
。
慣例 (已棄用)
基礎插件還添加了與歸檔建立相關的慣例,例如 ZIP、TAR 和 JAR。這些是已棄用的,並由上面描述的擴展取代。請參閱 BasePluginConvention DSL 文件,以獲取有關它們的資訊。