В Groovy, как я могу получить значение ключа из build.gradle дополнительных свойств - PullRequest
0 голосов
/ 02 июня 2019

У меня есть проект Gradle, и я хочу получить конкретное значение из файла build.gradle с помощью groovy (это задание jenkins).

build.gradle:

allprojects {
    subprojects {
        version = "1.0-SNAPSHOT"
        if (project.hasProperty("TestVersion"))
            version = project."TestVersion"


    }


    ext {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
        springBootVersion = '2.1.0.RELEASE'
        TestVersion = '4.0.0-SNAPSHOT'


    }

    repositories {
        mavenLocal()
        maven {
        maven {
            url 'http://repo1.maven.org/maven2/'
        }
    }
}

Я хочу получить версию "TestVersion" (которая является 4.0.0-SNAPSHOT) "gradle" способом, если это возможно, а не путемотличный скрипт, который просто анализирует файл json.Есть ли способ сделать это, или я должен просто начать анализировать как обычный JSON?

1 Ответ

3 голосов
/ 02 июня 2019

Файлы Gradle написаны в синтаксисе Groovy, а не в json.Вы не можете (и не должны) легко анализировать любой файл Gradle.

Вы можете переместить значение TestVersion в обычный файл свойств в вашем проекте и прочитать этот файл как из скрипта Jenkins, так и из вашей сборки.gradle , используя стандартный синтаксический анализатор свойств.

Другой альтернативой является создание задачи gradle, которая поможет вам с тем, что вы хотите сделать в Jenkins, и вызов gradle из Jenkins.

В качестве аналогичного примера вы можете использовать команду"gradle properties" для чтения свойств из gradle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...