Как получить versionName / versionCode из Gradle-файла kotlin-dsl в скрипте Gitlab ci? - PullRequest
0 голосов
/ 02 ноября 2018

Как я могу получить versionName и versionCode моего проекта Android в Gradle ( Kotlin-DSL ) Файл из Gitlab ci script (gitlab-ci.yaml)

У меня есть две команды для получения их от gradle-groovy-dsl, но они не работают на 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}'`

пример сценария gradle в groovy-dsl:

android {
    defaultConfig {
        versionCode 1
        versionName "1.0"
    }
}

пример скрипта gradle в kotlin-dsl:

android {
    defaultConfig {
        versionCode = 1
        versionName = "1.0"
    }
}

1 Ответ

0 голосов
/ 03 ноября 2018

Я прочитал о 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}'`

если вы хотите узнать о регулярных выражениях, я рекомендую вам посмотреть это видео на youTube

...