【简记】如何在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 != null
和yBomVersion != 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)许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步