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 文件。
依赖管理
Base 插件不添加用于依赖关系的配置,但它确实添加了以下配置:
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 及其派生文件(例如 WAR),默认为libsDirectory
。 archiveVersion
-
默认为
$project.version
,如果项目没有版本,则默认为 'unspecified'。 archiveBaseName
-
默认为
$archivesBaseName
。
约定 (已弃用)
Base 插件还添加了与创建归档文件(如 ZIP、TAR 和 JAR)相关的约定。这些约定已弃用,并已被上述扩展取代。有关这些约定的信息,请参阅 BasePluginConvention
DSL 文档。