Gradle接口:Gradle构建元数据

正如我之前在“ 识别Gradle约定 ”和“ 从Ant Build演变Gradle构建:导入Ant构建文件 ”之类的文章中所显示的那样,可以通过Groovy访问Gradle的API来收集有关Gradle构建的重要信息。 在本文中,我演示了如何通过Gradle接口访问基本的Gradle构建细节。

可以通过简单的“ gradle”(在Groovy中隐式对应于getGradle())在Gradle构建文件中访问org.gradle.api.invocation.Gradle接口。 下一个Gradle构建脚本列表显示了可通过Gradle界面获得的元数据信息的子集。

build-gradle-interface.gradle

// build-gradle-interface.gradle
apply plugin: 'java'

println "Class: ${this.getClass().canonicalName}"
println "Gradle: ${gradle.getClass().canonicalName}"
println "Ant: ${ant.getClass().canonicalName}"
println "Root Project: ${rootProject.getClass().canonicalName}"

println "\n=== Gradle ==="
println "\tgradleVersion = ${gradle.gradleVersion}"
println "\tgradleHomeDir = ${gradle.gradleHomeDir}"
println "\tgradleUserHomeDir = ${gradle.gradleUserHomeDir}"

println "\n=== Gradle.startParameter ==="
def startParameter = gradle.startParameter
println "\tcurrentDir = ${startParameter.currentDir}"
println "\tprojectDir = ${startParameter.projectDir}"
println "\tgradleUserHomeDir = ${startParameter.gradleUserHomeDir}"
println "\tbuildFile = ${startParameter.buildFile}"
println "\tprojectProperties = ${startParameter.projectProperties}"
println "\tsystemPropertiesArgs = ${startParameter.systemPropertiesArgs}"
println "\ttaskNames = ${startParameter.taskNames}"

当我运行上面的Gradle构建并指定应运行“ jar ”任务(由Java插件 提供任务 )时,输出如下所示:

gradleInterface

上面的构建清单和相关的屏幕快照指示Gradle界面提供了元数据,例如Gradle的版本,Gradle安装的主目录和Gradle用户的目录。 Gradle接口还提供对StartParameter实例的访问,该实例提供了进一步的构建启动元数据详细信息,例如项目目录,当前目录,构建文件的名称,项目属性,系统属性以及为执行指定的任务名称。

Gradle界面可以收集到有关Gradle构建的大量信息,而这篇文章仅显示了该信息的一部分。


翻译自: https://www.javacodegeeks.com/2014/01/the-gradle-interface-gradle-build-metadata.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值