17

Managing Android's dependencies with Gradle is done in a weird way. They have to be downloaded differently into a local repo. This is a pain when setting up CI build as there are multiple nodes this could run on. As such I'm using the sdk-manager-plugin to have the Android dependencies downloaded at build time. There seems to be an old bug that I'm experiencing with the sdk-manager-plugin though in that it will download the dependencies at build time, but they won't be available on that command.

The next time the command is run everything works fine (as everything is already downloaded), but I need to find a way to ignore the build failure of the first gradle command so that everything is downloaded and good to go for the second. I realize this is hacky, but I'm done messing with this.

Ideally something like this would work:

./gradlew clean --ignoreBuildFailures
./gradlew distributeCIBuild

The closest thing I could find in the Gradle documentation is --quite but that doesn't look like it'd work.

Any creative solutions welcome.

spierce7
  • 14,797
  • 13
  • 65
  • 106
  • What about `--continue`? – rciovati Mar 11 '15 at 22:13
  • I can't find any documentation on `--continue`. – spierce7 Mar 11 '15 at 22:15
  • Try running `./gradlew --help` or looking at [1]. The description is "Continues task execution after a task failure". [1]: https://gradle.org/docs/current/userguide/gradle_command_line.html – rciovati Mar 11 '15 at 22:16
  • 1
    In the example I post above with the fake `--ignoreBuildFailures`, do you think it'd work if I replace that with `--continue`? It sounds like it'd still fail the build after the clean was run. It just saves it till the end. – spierce7 Mar 11 '15 at 22:22
  • That appears to have worked (although it's difficult to reproduce sometimes). Would you mind creating an answer, and I'll mark it correct in a day or so? – spierce7 Mar 11 '15 at 22:28

3 Answers3

37

The flag to use is --continue.

From the documentation:

Continues task execution after a task failure.

smac89
  • 39,374
  • 15
  • 132
  • 179
rciovati
  • 27,603
  • 6
  • 82
  • 101
4

add this in the build.gradle file :

tasks.withType(JavaCompile) {
    options.failOnError(false)
}
mourad m
  • 877
  • 6
  • 10
2

You can use ignoreExitValue

task ktlint(type: JavaExec, group: "verification") {
    description = "Check Kotlin code style."
    ignoreExitValue = true
}
Linh Pham
  • 206
  • 4
  • 2