2014-06-26 4 views
4

Мой build.gradle файл походит на следующее:Gradle ignoreFailures проверить свойство

apply plugin: "java" 
... 
test { 
    ... 
    ignoreFailures = "$ignoreFailureProp" 
} 

и gradle.properties с

ignoreFailureProp=false 

При выполнении gradle clean build, блок тестирования сбоев не метят сборки не удалось.

Я знаю, что по умолчанию сбоя сборки, но я хочу, чтобы явно установить его через свойство, чтобы изменить в без изменения файла сборки

ответ

4

Проблема заключается в том, что ignoreFailureProp свойства является строкой, поэтому ignoreFailures (который должен быть логическим) задается как строка и поэтому всегда будет истинным.

Вы могли бы сделать это вместо:

apply plugin: "java" 

test { 
    ignoreFailures = ignoreFailureProp.toBoolean() 
} 

Это должно работать.

3

Вам не обязательно использовать такой файл, как gradle.properties.

Если вы измените ваш build.gradle на:

apply plugin: "java" 
... 
test { 
    ... 
    ignoreFailures Boolean.getBoolean("test.ignoreFailures") 
} 

и вызывать тесты с gradle -Dtest.ignoreFailures=true clean build вы сделали без редактирования файла. Обратите внимание, что если вы не установили параметр или не установили его на какое-либо другое значение, чем true (случаи с чувствительностью), ошибки не игнорируются (т. Е. Поведение по умолчанию).

Смежные вопросы