Gradle:查看SNAPSHOT并切换复合构建

时间:2019-04-22 09:50:08

标签: gradle build.gradle

我有两个独立的任务来切换复合构建:

task enableCompositeBuild {
    group = 'Tools'
    description = 'Enable composite build'
    doLast {
        new File(rootDir, ".composite-enable").createNewFile()
    }
}

task disableCompositeBuild {
    group = 'Tools'
    description = 'Disable composite build'
    doLast {
        File file = file(".composite-enable")
        if (file.exists()) {
            file.delete()
        }
    }
}

我的任务是防止SNAPSHOT对发行版的依赖:

task checkDependsOnSNAPSHOT {
    if (version.endsWith("SNAPSHOT"))
        return;

    project.configurations.compile.each {
        if (it.toString().contains("SNAPSHOT"))
            throw new Exception("Release build contains snapshot dependencies: " + it)
    }
}

build.dependsOn 'checkDependsOnSNAPSHOT'

现在,我尝试在发布版本上提供禁用组合,但无法理解如何组织这些任务依赖项来实现。任务disableCompositeBuild应该在第一个checkDependsOnSPANSHOT条件之后的任务if中执行,以防止第二个if出现异常。

0 个答案:

没有答案