Multi Project Multi Project Recursive Task для зависимостейAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Multi Project Multi Project Recursive Task для зависимостей

Сообщение Anonymous »

Конфигурация: у меня есть много проекта, как это: < /p>

Код: Выделить всё

project1:
implementation(1st_lvl_module1)
implementation(1st_lvl_module2)
project2:
implementation(1st_lvl_module1)
implementation(1st_lvl_module2)
implementation(1st_lvl_module3)
project3:
implementation(1st_lvl_module2)

1st_lvl_module1:
implementation(2nd_lvl_module1)
implementation(2nd_lvl_module2)
1st_lvl_module2:
implementation(2nd_lvl_module2)
1st_lvl_module3:
implementation(2nd_lvl_module2)
implementation(2nd_lvl_module3)

2nd_lvl_module1
2nd_lvl_module2
2nd_lvl_module3
проблема : я хочу выполнить какую -то задачу для всех проектов (например, тест Gradle ). Он работает по мере необходимости для вызова высшего уровня. Но я хочу выполнить его для каждого проекта независимо, и здесь у меня есть проблема.
Если я вызову для Project1 Gradle1: тест он будет выполнен только для Project1 и не включает 1st_lvl_module1 , который также реализовал 2nd_lvl_module1 и 2nd_l_module. 1st_lvl_module2 с 2nd_lvl_module2
Я попытался реализовать пользовательскую задачу, например:

Код: Выделить всё

tasks.register("testWithDependencies") { task ->
task.dependsOn("test")
configurations.forEach {
it.dependencies.findAll { it instanceof ProjectDependency }.forEach {
dependsOn ":${it.name}:test"
}
}
}
< /code>
И с таким образом он также работает для реализаций первого уровня.
gradle project1:testWithDependencies
выполнит тест задание для Project1 , 1st_lvl_module1 и 1st_lvl_module2 , но все же игнорируют 2nd_lvl_module1 2nd_lvl_module2 .

Код: Выделить всё

tasks.register("pd") { task ->
configurations.forEach {
println("Config name: ${it.name}")
it.dependencies.findAll { it instanceof ProjectDependency }.forEach {
def depProject = ((ProjectDependency)it).getDependencyProject()
println("${depProject.name}")
depProject.configurations.forEach {
println("---Config name: ${it.name}")
}
}
}
}
my project1 содержит реализацию конфигурация, но все 1st_lvl_module* не. На самом деле конфигурации Список подмодулей выглядит очень плохо. Или, может быть, самый простой способ для рекурсивного вызова существуют?

Подробнее здесь: https://stackoverflow.com/questions/638 ... pendencies
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

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

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»