Base 插件提供了一些大多数构建通用的任务和约定,并为构建添加了结构,以促进构建运行方式的一致性。它最重要的贡献是一组 生命周期 任务,它们充当其他插件和构建作者提供的更具体任务的保护伞。
用法
plugins {
base
}
plugins {
id 'base'
}
任务
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 和 JAR 的衍生文件(如 WAR),默认值为libsDirectory
。 archiveVersion
-
默认值为
$project.version
,如果项目没有版本,则为 'unspecified'。 archiveBaseName
-
默认值为
$archivesBaseName
。
约定(已弃用)
Base 插件还添加了与创建存档(如 ZIP、TAR 和 JAR)相关的约定。这些约定已 **弃用**,并被上述扩展所取代。有关这些约定的信息,请参阅 BasePluginConvention DSL 文档。