Gradle exec tâche renvoie de sortie non nulle valeur et ne le construire, mais je veux pas échouer, et au lieu d'effectuer une autre tâche

J'ai un exec ensemble des tâches d'un joli défaut, quelque chose comme:

task myTask(type:Exec) {

    workingDir '.'

    commandLine './myscript.sh'

    doLast {
        if(execResult == 0) {
           //one thing
        } else {
           //another thing
        }
    }
}

Mais malheureusement, il ne s'exécute jamais le doLast bloc quand une erreur est renvoyée par le script. Au lieu de cela, il saute et ne parvient pas à l'ensemble de la construire avec

Échec de l'exécution de la tâche:projet:myTask'.
Le processus de "commande". /myscript.sh" fini avec sortie non nulle valeur 1"

C'est inutile pour moi. L'idée de myscript.sh finition avec une sortie non nulle valeur est donc, je peux alors exécuter du code en réponse à elle. Que dois-je faire pour ne pas échouer à le construire, mais la capture du résultat et de réaliser une action en réponse? Merci pour l'aide!

  • gradle dsl est un simple script groovy, il vous suffit d'écrire un bloc try catch dans votre tâche
InformationsquelleAutor Scott Shipp | 2015-12-12