Как подключить Gradle проект как модуль к новому проекту?

У меня такая структура проекта в IntelijIdea

--TestProject
----TestLib
------CoreModule

settings.gradle.kts (:TestLib)

rootProject.name = "TestLib"
include("CoreModule")

build.gradle.kts (:TestLib)

dependencies {
    implementation(project("CoreModule")) 
}

settings.gradle.kts (TestProject)

rootProject.name = "TestProject"
include("TestLib")

Почему при gradle build я получаю

Project with path 'CoreModule' could not be found in project ':TestLib'

если изменить settings.gradle.kts (TestProject) на

rootProject.name = "TestProject"
include("TestLib")
include("TestLib:CoreModule")

то build проходит но я не понимаю почему в корневом проекте мне нужно указывать все зависимости дочернего модуля, модуль должен сам свои зависимости подтягивать по идее

Репозиторий с проектом


Ответы (1 шт):

Автор решения: Eugene Krivenja

Создавая settings.gradle(.kts) к какой-то папке вы говорите Gradle, что это папка проекта и определяете какие модули находятся в этом проекте.

rootProject.name = "TestProject"
include("TestLib")
include("TestLib:CoreModule")

Здесь нет ни слова о том кто от кого зависит, а только кто где располагается.
Далее уже в build.gradle(.kts) каждого модуля задается дерево зависимостей.

dependencies {
    implementation(project("CoreModule")) 
}
→ Ссылка