Поиск…


замечания

doLast

Обратите внимание, что в градиенте 3.x больше идиоматического определения задачи: использование явного doLast {закрытия} вместо оператора «leftShift» (<<) предпочтительнее. ( LeftShift устарел в градиенте 3.2, планируется удалить в градиенте 5.0 .)

task oldStyle << {
    println 'Deprecated style task'
 }

эквивалентно:

task newStyle {
    doLast {
    println 'Deprecated style task'
    }
 }

Добавление зависимостей с использованием имен задач

Мы можем изменить порядок выполнения задач с dependsOn метода dependsOn .

task A << {
    println 'Hello from A'
}
task B(dependsOn: A) << {
    println "Hello from B"
}

Добавление `dependsOn: вызывает:

  • задача B зависит от задачи A
  • Gradle для выполнения A задачи каждый раз перед B выполнения задачи.

И выход:

> gradle -q B
Hello from A
Hello from B

Добавление зависимостей из другого проекта

project('projectA') {
    task A(dependsOn: ':projectB:B') << {
        println 'Hello from A'
    }
}

project('projectB') {
    task B << {
        println 'Hello from B'
    }
}

Чтобы ссылаться на задачу в другом проекте, вы префикс имени задачи с указанием пути к проекту, к которому он принадлежит :projectB:B

И выход:

> gradle -q B
Hello from A
Hello from B

Добавление зависимости с использованием объекта задачи

task A << {
    println 'Hello from A'
}

task B << {
    println 'Hello from B'
}

B.dependsOn A

Это альтернативный способ определения зависимости вместо использования имени задачи .

И результат тот же:

> gradle -q B
Hello from A
Hello from B

Добавление нескольких зависимостей

Вы можете добавить несколько зависимостей.

task A << {
    println 'Hello from A'
}

task B << {
    println 'Hello from B'
}

task C << {
    println 'Hello from C'
}

task D << {
    println 'Hello from D'
}

Теперь вы можете определить набор зависимостей:

B.dependsOn A
C.dependsOn B
D.dependsOn C

Выход:

> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D

Другой пример:

B.dependsOn A 
D.dependsOn B
D.dependsOn C

Выход:

> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D

Множественные зависимости с методом dependOn

Вы можете добавить несколько зависимостей.

task A << {
    println 'Hello from A'
}

task B(dependsOn: A) << {
    println 'Hello from B'
}

task C << {
    println 'Hello from C'
}

task D(dependsOn: ['B', 'C'] << {
    println 'Hello from D'
}

Выход:

> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow