Как выполнить задачу внутри doLast в Gradle?

Я пытаюсь создать почтовый индекс, используя задачу gradle, но во время работы внутри doLast{}, выдает ошибку, говорящую: > Невозможно вызвать Task.dependsOn(Object...) для задачи ':app:testZip' после запуска задачи.

MyCode:

doLast {

    testDir.eachWithIndex { a, i ->

        def dir = "${testDir[i]}"
        def dirName = "${testDirName[i]}"

       dependsOn tasks.create("testZip$c", Zip) {
            from dir
            baseName dirName
            destinationDir(file("$dir"))
        }

        c++
    } }

Я не нашел решения этой проблемы, пожалуйста, дайте мне знать, как я могу запустить задачу Zip внутри doLast{}

0 ответов

Ошибка возникает из-за того, что вы пытаетесь создать новую задачу после завершения этапа настройки. Некоторые возможные решения: удалите вызов doLast(), определите zip-задачу вне doLast() или переместите zip-логику в метод.

Другие вопросы по тегам