当依赖项不可用时使Gradle构建失败

时间:2018-08-31 12:01:08

标签: gradle build.gradle nexus

build.gradle(省略了不必要的部分):

apply plugin: 'java'

repositories {
    mavenCentral()
    maven {
        credentials {
            username "$mavenUser"
            password "$mavenPassword"
        }
        url "http://localhost:8081/nexus/content/groups/public"
    }
}

dependencies {
    compile("com.example:some-lib:1.0.0-RELEASE")
}

假定已配置的Maven存储库中缺少定义的依赖项。执行./gradlew clean build任务后,尽管缺少必需的依赖项,但仍成功构建了应用程序。

如果存在未解决的依赖项,是否可以将Gradle配置为失败?


涉及到:

1 个答案:

答案 0 :(得分:2)

考虑以下build.gradle注意:故意在dependencies中指定伪造的罐子):

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    compile("junit:junit:4.12")
    compile("junit:junitxyz:51.50")
}

task checkDependencies() {
    doLast {
        configurations.compile.each { file ->
            println "TRACER checking: " + file.name
            assert file.exists() 
        }
    }
}

compileJava.dependsOn checkDependencies

示例输出:

$ gradle -q clean compileJava

FAILURE: Build failed with an exception.
[snip]

* What went wrong:
Execution failed for task ':checkDependencies'.
> Could not resolve all files for configuration ':compile'.
   > Could not find junit:junitxyz:51.50.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/junit/junitxyz/51.50/junitxyz-51.50.pom
       - https://repo.maven.apache.org/maven2/junit/junitxyz/51.50/junitxyz-51.50.jar