Gradle: проверьте SNAPSHOT и переключите составную сборку - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть две независимые задачи для переключения составной сборки:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...