基础插件提供了一些任务和约定,这些任务和约定在大多数构建中都很常见,并为构建添加了一个结构,从而提高了运行构建方式的一致性。它最重要的贡献是一组 生命周期 任务,这些任务充当其他插件和构建作者提供的更具体任务的伞。
任务
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
。
约定 (已弃用)
基础插件还添加了与创建归档文件(如 ZIP、TAR 和 JAR 文件)相关的约定。这些约定已弃用,并被上面描述的扩展取代。 有关它们的更多信息,请参阅 BasePluginConvention DSL 文档。