【简记】如何在gradle构建脚本中判断一个变量是否存在/分配

问题说明

最近在调整公司项目的公共脚本,需要根据多个变量是否存在来判断是否引入相应的bom,伪代码如下:
gradle.properties中

xBomVersion=1.0.0

构建脚本片段:

configure(allprojects) {
apply plugin: 'java'
apply plugin: 'java-library'
apply plugin: "io.spring.dependency-management"
configurations.all {
dependencyManagement {
imports {
if(xBomVersion变量存在){
mavenBom("xgroup:x-dependencies:${xBomVersion}")
}
if(yBomVersion变量存在){
mavenBom("ygroup:y-dependencies:${yBomVersion}")
}
}
}
}
}

如果if条件是xBomVersion != nullyBomVersion != null,则当有一个变量未在gradle.properties中配置时,会被gradle抛出Configuration with name 'xBomVersion' not found错误。

思路及解决

原因既然是有变量不存在,就判断这个变量是否存在即可。

根据 gradle property is defined 关键字查到一篇StackOverFlow,文章中提到可以使用if (project.hasProperty('special'))方式来判断变量是否定义。

则最终使用这种办法实现了这个需求。

本文作者:东北小狐狸

本文链接:https://www.cnblogs.com/hellxz/p/16965841.html

版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。

posted @   东北小狐狸  阅读(227)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起