Подтвердить что ты не робот

Gradle.properties свойство с ошибкой чтения с точечной записью

Я получаю сообщение об ошибке, считывающее свойство с точечной нотой от gradle.properties. Почему?

Если я использую version вместо build.version, все в порядке. Спасибо заранее.

FAIL CASE

gradle.properties

build.version=2.0.1

build.gradle

apply plugin: 'java'

task testProperties << {
    println "***************** TEST **********************"
    println build.version
    println "*********************************************"
}

ОФОРМЛЕНИЕ

... $ gradle devTest
:devTest
***************** TEST **********************
:devTest FAILED

FAILURE: Build failed with an exception.

* Where:
Build file '..../build.gradle' line: 50

* What went wrong:
Execution failed for task ':devTest'.
> Could not find property 'version' on task ':build'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or<br> --debug option to get more log output.

BUILD FAILED

CASE

gradle.properties

version=2.0.1

build.gradle

apply plugin: 'java'

task testProperties << {
    println "***************** TEST **********************"
    println version
    println "*********************************************"
}

ОФОРМЛЕНИЕ

... $ gradle devTest

:devTest

***************** TEST **********************
2.0.1

*********************************************

BUILD SUCCESSFUL
4b9b3361

Ответ 1

Вы не можете использовать свойства с точкой таким образом, потому что Groovy считает это свойством version экземпляра build. Если вы хотите, чтобы свойство содержало точку, вы должны использовать его следующим образом:

println rootProject.properties['build.version']

Ответ 2

Другой способ получить доступ к свойствам - использовать синтаксис ниже

println "Version: ${project.'build.version'}"