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插件 提供的任务 )时,输出如下所示:
上面的构建清单和相关的屏幕快照指示Gradle
界面提供了元数据,例如Gradle的版本,Gradle安装的主目录和Gradle用户的目录。 Gradle
接口还提供对StartParameter实例的访问,该实例提供了进一步的构建启动元数据详细信息,例如项目目录,当前目录,构建文件的名称,项目属性,系统属性以及为执行指定的任务名称。
从Gradle
界面可以收集到有关Gradle构建的大量信息,而这篇文章仅显示了该信息的一部分。
翻译自: https://www.javacodegeeks.com/2014/01/the-gradle-interface-gradle-build-metadata.html
Gradle接口:Gradle构建元数据相关推荐
- 命令构建gradle项目_【Android 修炼手册】Gradle 篇 -- Gradle 源码分析
预备知识 理解 gradle 的基本开发 了解 gradle task 和 plugin 使用及开发 了解 android gradle plugin 的使用 看完本文可以达到什么程度 了解 grad ...
- gradle挂接到构建生命周期(七)
目录 1. 概念 2. 使用gradle提供的闭包 3. 实现gradle API提供的监听器接口 1. 概念 我们知道,gradle的生命周期为 初始化阶段 => 配置阶段 => 执行阶 ...
- Gradle 庖丁解牛(构建源头源码浅析)
1 背景 陆陆续续一年多,总是有人问 Gradle 构建,总是发现很多人用 Gradle 是迷糊状态的,于是最近准备来一个"Gradle 庖丁解牛"系列,一方面作为自己的总结,一方 ...
- 【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )
文章目录 一.AspectJ 下载 二.拷贝 aspectjrt.jar 到 Android Studio 三.配置 Gradle 和 Gradle 插件版本 四.配置 Gradle 构建脚本 一.A ...
- gradle 2.1构建android出现错误的解决方案
转自:http://www.tuicool.com/articles/YJNJbuA 使用不同版本Gradle构建Andorid 出现Gradle version xxxx is required 坑 ...
- 如何在Gradle多项目构建中管理依赖项
从很早以前我就一直喜欢Gradle构建工具. 它的潜力甚至在1.0版本之前就已经很明显了,那时变化经常被打破. 如今,升级很少会引起意外. 该工具已经成熟并且运行良好. Gradle包括一个功能强大的 ...
- 《Gradle权威指南》--Android Gradle多项目构建
No1: Android多项目设置 目录结构: MyProject/ setting.gradle app/ build.gradle libraries/ lib1/ build.gradle li ...
- 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 ...
- Android 了解Gradle及自动化构建
前言 本专栏内容主要分为两大部分: Groovy基础到进阶 Gradle开发及Gradle在Android中的使用. 本专栏内容尽量做到覆盖全满,不遗漏知识点. 对于Groovy的学习会基于已掌握的J ...
最新文章
- Python 之 matplotlib (九)contours等高线
- 师范类专业物理和计算机选哪个,师范专业太多,哪些师范专业含金量高?资深教师:选这4个就对了...
- java post 提交数据_使用Post方式提交数据到Tomcat服务器的方法
- ORA-30649: 缺少DIRECTORY关键字的问题解决方法
- mybatis学习(17):列名与属性名不一致的情况(使用别名)
- matlab inline feval,matlab中关于函数句柄、feval函数以及inline函数的解析
- 选择多级分类_商用车齿轮油的选择与运用!!
- PCL之求点云的BoundingBox
- Tiny-Spring源码阅读(一)IOC的理解
- Shell编程之变量的高级用法
- Restorator 2007 Build 1729 汉化版
- 计算机高中会考inpute,高中信息技术会考知识点
- 计算机丢失d3dx934,d3dx9_34.dll
- 即时聊天系统(IM)发送文件语音视频的两种方式比较
- 如何用Word批量制作专属邀请函
- quartus频率计 时钟设置_频率计实验报告.doc
- 实验6 图及其应用——图的遍历
- 计算机毕业设计Java银创科技有限公司人事信息系统(系统+程序+mysql数据库+Lw文档)
- 怎样把视频压缩到100M?如何在线无损压缩视频?
- FizzBuzz与写代码的“一万”个细节
热门文章
- Android中ImageView的scaleType 属性说明。
- oracle 10741 trace,RedHat5.3上安装Oracle 10.2.0.1
- java出代码1601_LeetCode 1601. 最多可达成的换楼请求数目
- 关于 tomcat启动后无法访问的问题(localhost:8080 (or your port specified))
- 关于一致/非一致代码段与TSS 关系的个人看法
- 一文理清HashMap的实现及细节
- 一个会定时执行的方法
- javafx查找子节点_JavaFX技巧29:使布局忽略不可见的节点
- 詹金斯搭建_与詹金斯一起将GitLab中的Gradle项目发布到Artifactory
- CUBA 7.2 –有什么新功能?