基本外掛程式提供一些對大多數構建來說常見的任務和慣例,並為構建加入一個結構,以促進它們執行方式的一致性。它最重要的貢獻是一組生命週期任務,作為其他外掛程式和構建作者提供的更具體任務的總稱。
任務
clean
—刪除
-
刪除構建目錄及其中的所有內容,即由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 外掛會將 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 和 JAR 的衍生品(例如 WAR)的預設值為libsDirectory
。 archiveVersion
-
預設值為
$project.version
,如果專案沒有版本,則為「未指定」。 archiveBaseName
-
預設值為
$archivesBaseName
。
慣例(已棄用)
Base 外掛也會新增與建立封存(例如 ZIP、TAR 和 JAR)相關的慣例。這些慣例已棄用,並由上述擴充套件取代。有關這些慣例的資訊,請參閱 BasePluginConvention DSL 文件。