正如我之前在“ 识别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插件 提供的任务 )时,输出如下所示:

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

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

参考: The Gradle界面:来自JCG合作伙伴 Dustin Marx的Gradle Build元数据,来自Inspired by Actual Events博客。

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

Gradle接口:Gradle构建元数据相关推荐

  1. 命令构建gradle项目_【Android 修炼手册】Gradle 篇 -- Gradle 源码分析

    预备知识 理解 gradle 的基本开发 了解 gradle task 和 plugin 使用及开发 了解 android gradle plugin 的使用 看完本文可以达到什么程度 了解 grad ...

  2. gradle挂接到构建生命周期(七)

    目录 1. 概念 2. 使用gradle提供的闭包 3. 实现gradle API提供的监听器接口 1. 概念 我们知道,gradle的生命周期为 初始化阶段 => 配置阶段 => 执行阶 ...

  3. Gradle 庖丁解牛(构建源头源码浅析)

    1 背景 陆陆续续一年多,总是有人问 Gradle 构建,总是发现很多人用 Gradle 是迷糊状态的,于是最近准备来一个"Gradle 庖丁解牛"系列,一方面作为自己的总结,一方 ...

  4. 【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )

    文章目录 一.AspectJ 下载 二.拷贝 aspectjrt.jar 到 Android Studio 三.配置 Gradle 和 Gradle 插件版本 四.配置 Gradle 构建脚本 一.A ...

  5. gradle 2.1构建android出现错误的解决方案

    转自:http://www.tuicool.com/articles/YJNJbuA 使用不同版本Gradle构建Andorid 出现Gradle version xxxx is required 坑 ...

  6. 如何在Gradle多项目构建中管理依赖项

    从很早以前我就一直喜欢Gradle构建工具. 它的潜力甚至在1.0版本之前就已经很明显了,那时变化经常被打破. 如今,升级很少会引起意外. 该工具已经成熟并且运行良好. Gradle包括一个功能强大的 ...

  7. 《Gradle权威指南》--Android Gradle多项目构建

    No1: Android多项目设置 目录结构: MyProject/ setting.gradle app/ build.gradle libraries/ lib1/ build.gradle li ...

  8. Gradle【有与无】【运行Gradle构建】【G8_2】Gradle Enterprise Gradle插件用户手册

    目录 Gradle Enterprise Gradle插件用户手册 1.设定 1.1.应用插件 1.1.1.Gradle 6.x及更高版本 1.1.2.Gradle 5.x 1.2.连接到Gradle ...

  9. Android 了解Gradle及自动化构建

    前言 本专栏内容主要分为两大部分: Groovy基础到进阶 Gradle开发及Gradle在Android中的使用. 本专栏内容尽量做到覆盖全满,不遗漏知识点. 对于Groovy的学习会基于已掌握的J ...

最新文章

  1. Python 之 matplotlib (九)contours等高线
  2. 师范类专业物理和计算机选哪个,师范专业太多,哪些师范专业含金量高?资深教师:选这4个就对了...
  3. java post 提交数据_使用Post方式提交数据到Tomcat服务器的方法
  4. ORA-30649: 缺少DIRECTORY关键字的问题解决方法
  5. mybatis学习(17):列名与属性名不一致的情况(使用别名)
  6. matlab inline feval,matlab中关于函数句柄、feval函数以及inline函数的解析
  7. 选择多级分类_商用车齿轮油的选择与运用!!
  8. PCL之求点云的BoundingBox
  9. Tiny-Spring源码阅读(一)IOC的理解
  10. Shell编程之变量的高级用法
  11. Restorator 2007 Build 1729 汉化版
  12. 计算机高中会考inpute,高中信息技术会考知识点
  13. 计算机丢失d3dx934,d3dx9_34.dll
  14. 即时聊天系统(IM)发送文件语音视频的两种方式比较
  15. 如何用Word批量制作专属邀请函
  16. quartus频率计 时钟设置_频率计实验报告.doc
  17. 实验6 图及其应用——图的遍历
  18. 计算机毕业设计Java银创科技有限公司人事信息系统(系统+程序+mysql数据库+Lw文档)
  19. 怎样把视频压缩到100M?如何在线无损压缩视频?
  20. FizzBuzz与写代码的“一万”个细节

热门文章

  1. Android中ImageView的scaleType 属性说明。
  2. oracle 10741 trace,RedHat5.3上安装Oracle 10.2.0.1
  3. java出代码1601_LeetCode 1601. 最多可达成的换楼请求数目
  4. 关于 tomcat启动后无法访问的问题(localhost:8080 (or your port specified))
  5. 关于一致/非一致代码段与TSS 关系的个人看法
  6. 一文理清HashMap的实现及细节
  7. 一个会定时执行的方法
  8. javafx查找子节点_JavaFX技巧29:使布局忽略不可见的节点
  9. 詹金斯搭建_与詹金斯一起将GitLab中的Gradle项目发布到Artifactory
  10. CUBA 7.2 –有什么新功能?