Gradle的属性设置大全

3 篇文章 0 订阅
2 篇文章 0 订阅

原文链接:
http://www.cnblogs.com/huang0925/p/3318152.html

Gradle作为一款项目构建工具,由于其强大、灵活、快速、完全兼容Ant等特性,越来越受到人们欢迎。Gradle的灵活有时候也会引起人们的困惑。比如在Gradle中设置变量和属性就有N种办法。由于Gradle的理念是Convention over configruation(约定优于配置),所以如果了解了这些约定,那么在使用Gradle的属性配置时一定会如鱼得水。

在项目根目录下建立名为gradle.properties文件,在该文件中定义需要的属性。这些属性在Gradle构建Gradle领域对象(即project对象实例)时会被自动加到project对象实例中作为其属性被直接调用。

这里写图片描述

这里写图片描述


定义在build.gradle中的ext块中。ext准确的说是Gradle领域对象的一个属性,我们可以将自定义的属性添加到ext对象上,Build.gradle中的其它代码片段可以使用。

这里写图片描述

从上述可以看到ext对象其实是DefaultExtraPropertiesExtension对象的一个实例。


在命令行中通过-D或者-P给Gradle实时创建属性。 -D属性会被传送给启动Gradle的jvm,作为一个系统属性被jvm使用。
这里写图片描述

-P属性则会被直接加载到Gradle领域对象上。

这里写图片描述


在Gradle配置文件中创建系统属性。刚讲过在gradle.properties文件可以创建属性,同时我们也可以创建系统属性。如果有systemProp.前缀的属性会被识别为系统属性。
这里写图片描述


将特殊前缀的系统属性或环境变量自动加入到Gradle领域对象中。

如果有环境变量以ORG_GRADLE_PROJECT.为前缀,那么该变量会被自动添加到Gradle领域对象中。同样,如果有系统属性以org.gradle.project.为前缀,那么也会被自动加入到Gradl领域对象中。这一特性的目的之一是为了隐藏一些敏感的信息。比如在执行Gradle脚本时需要传入密码信息,如果以-P的方式传送会被别人看到。而把该属性保存为环境变量,只有系统管理员才有权访问和修改。在运行Gralde的时候该环境变量会被自动加入到Gradle对象中被使用,隔离了明暗数据,又不行影响其他用户使用。(其他用户可以通过-P方式是设置该属性)。

这里写图片描述

作者:黄博文@无敌北瓜
出处:http://www.cnblogs.com/huang0925
黄博文的地盘
本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值