Проблема, с которой вы столкнулись, описана здесь . Окружение commandLine
с помощью try / catch не работает по простой причине: commandLine
не выполняет вашу команду, она просто задает команду, которая будет выполняться задачей Exe c, когда она будет запущена.
Один из способов - не использовать задачи для выполнения команды. Например, вы можете использовать ProcessBuilder, заключенный в try / catch в finalizedBy
, который будет запускаться только на этапе выполнения:
task myTask {
finalizedBy {
try {
def proc = new ProcessBuilder("command", "-v", "git-lfs")
proc.start().waitFor()
// Do something with stdout or whatever.
} catch (Exception e) {
println("Couldn't find git-lfs.")
}
}
}
У меня сейчас не так много времени, но я надеюсь, что помогает.