Заказ задач Gradle С помощью finalizedBy и зависит от - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть следующие настройки:

task A {
  // config for task C
}

task B {
  // config for task C
}

task D {
}

Обе эти задачи должны быть завершены задачей C с предоставленной конфигурацией, а B должен выполнить после A. Я адаптировался затем к следующему

A.finalizedBy C
B.finalizedBy C
B.mustRunAfter A
D.dependsOn A, B

Проблема, с которой я столкнулся при этой настройке, заключается в том, что при запуске gradle D:

  • Задача A выполняется, настраивается задача C
  • Задача Bвидит, что А закончен и выполняется.B переопределяет конфигурацию C.
  • C выполняется только для B, а не A.

Есть ли способ выполнить задачу несколько раз?Мне нужно это упорядочить A -> C -> B -> C.

РЕДАКТИРОВАТЬ:

Кажется, что работает, но это не тот путь, который я хочу выбрать:

task A {
  // config for task C
  C.execute()
}

task B {
  // config for task C
  C.execute()
}

1 Ответ

0 голосов
/ 23 ноября 2018

По замыслу, Gradle выполнит заданную задачу только один раз во время сборки.

Если вам нужно сделать две вещи, хотя и очень похожие, то вам нужно две задачи.

Концепцияиз правил задачи может помочь вам решить эту проблему в общем виде.

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