Как передать свойство зависимости?

#gradle

#градация

Вопрос:

Задача Gradle jettyRun имеет свойство daemon, которое я хочу, чтобы оно было false при запуске приложения, но true, когда оно у меня есть в качестве зависимости от задачи приемочного тестирования (fastend2end).

 task fastend2end(type: Test, dependsOn: jettyRun) {
    description = "Runs the end to end tests"
    testClassesDir = sourceSets.end2end.classesDir
    classpath = sourceSets.end2end.runtimeClasspath
}
  

Могу ли я указать, что для демона fastend2end должно быть true? Однако, когда я запускаю jettyRun сам по себе, я хочу, чтобы свойство daemon было false .

Ответ №1:

Вы не можете сделать это напрямую. Но вы можете использовать следующий фрагмент для установки свойства daemon, если задача fastend2end находится в вашем графике выполнения:

 gradle.taskGraph.whenReady {graph ->
    if (graph.hasTask(fastend2end)) {
        jettyRun.daemon = true
    }
}