如何从Gradle(Kotlin-DSL)文件中获得versionName和versionCode,从Gitlab脚本(gitlab-ci.yaml)获得?
我有这两个命令,用于从gradle-groovy中获取它们,但它们不适用于gradle-kotlin-dsl。
- export VERSION_NAME=`egrep '^[[:blank:]]+versionName[[:blank:]]' app/build.gradle | awk '{print $2}' | sed s/\"//g`
- export VERSION_CODE=`egrep '^[[:blank:]]+versionCode[[:blank:]]' app/build.gradle | awk '{print $2}'`groovy中的gradle脚本示例:
android {
defaultConfig {
versionCode 1
versionName "1.0"
}
}kotlin中的gradle脚本示例:
android {
defaultConfig {
versionCode = 1
versionName = "1.0"
}
}发布于 2018-11-03 10:42:50
我读过关于Regex的文章,并了解了如何实现它。
您应该更改regex以获得versionName/versionCode,因为分配它们的方式改变了。
你应该这样做:
- export VERSION_NAME=`egrep '[[:blank:]]*versionName[[:blank:]]?=[[:blank:]]?\"((\w|\.)+)\"' app/build.gradle.kts | awk '{print $3}'| sed s/\"//g`
- export VERSION_CODE=`egrep '[[:blank:]]*versionCode[[:blank:]]?=[[:blank:]]?([0-9]+)' app/build.gradle.kts | awk '{print $3}'`如果您想了解regex,我建议您在youTube上观看youTube视频。
https://stackoverflow.com/questions/53124873
复制相似问题