如何从 Gitlab ci 脚本中的 kotlin-dsl Gradle 文件获取 versionName/versionCode?
How to get versionName/versionCode from kotlin-dsl Gradle file in Gitlab ci script?
如何在 Gradle(Kotlin-DSL) 来自 Gitlab ci 脚本的文件(gitlab-ci.yaml)?
我有这两个命令可以从 gradle-groovy-dsl 获取它们,但它们在 gradle-kotlin-dsl 上不起作用。
- export VERSION_NAME=`egrep '^[[:blank:]]+versionName[[:blank:]]' app/build.gradle | awk '{print }' | sed s/\"//g`
- export VERSION_CODE=`egrep '^[[:blank:]]+versionCode[[:blank:]]' app/build.gradle | awk '{print }'`
示例 gradle groovy-dsl 中的脚本:
android {
defaultConfig {
versionCode 1
versionName "1.0"
}
}
kotlin-dsl 中的示例 gradle 脚本:
android {
defaultConfig {
versionCode = 1
versionName = "1.0"
}
}
我阅读了有关 Regex 的内容,并且了解了如何操作。
您应该更改正则表达式以获得 versionName/versionCode,因为分配它们的方式已更改。
你应该这样做:
- export VERSION_NAME=`egrep '[[:blank:]]*versionName[[:blank:]]?=[[:blank:]]?\"((\w|\.)+)\"' app/build.gradle.kts | awk '{print }'| sed s/\"//g`
- export VERSION_CODE=`egrep '[[:blank:]]*versionCode[[:blank:]]?=[[:blank:]]?([0-9]+)' app/build.gradle.kts | awk '{print }'`
如果您想了解正则表达式,我建议您在 youTube 上观看 this 视频
如何在 Gradle(Kotlin-DSL) 来自 Gitlab ci 脚本的文件(gitlab-ci.yaml)?
我有这两个命令可以从 gradle-groovy-dsl 获取它们,但它们在 gradle-kotlin-dsl 上不起作用。
- export VERSION_NAME=`egrep '^[[:blank:]]+versionName[[:blank:]]' app/build.gradle | awk '{print }' | sed s/\"//g`
- export VERSION_CODE=`egrep '^[[:blank:]]+versionCode[[:blank:]]' app/build.gradle | awk '{print }'`
示例 gradle groovy-dsl 中的脚本:
android {
defaultConfig {
versionCode 1
versionName "1.0"
}
}
kotlin-dsl 中的示例 gradle 脚本:
android {
defaultConfig {
versionCode = 1
versionName = "1.0"
}
}
我阅读了有关 Regex 的内容,并且了解了如何操作。
您应该更改正则表达式以获得 versionName/versionCode,因为分配它们的方式已更改。
你应该这样做:
- export VERSION_NAME=`egrep '[[:blank:]]*versionName[[:blank:]]?=[[:blank:]]?\"((\w|\.)+)\"' app/build.gradle.kts | awk '{print }'| sed s/\"//g`
- export VERSION_CODE=`egrep '[[:blank:]]*versionCode[[:blank:]]?=[[:blank:]]?([0-9]+)' app/build.gradle.kts | awk '{print }'`
如果您想了解正则表达式,我建议您在 youTube 上观看 this 视频