Я пытаюсь использовать функцию замены зависимостей Gradle, как указано в официальной документации здесь: Gradle Documentations .
Согласно строкам, указанным в конце абзаца, во время сборки MultiProject, определенные мной как процесс очистки и сборки проекта, указывают на то, что когда я очищаю и строю проект root вместо построения зависимости, которая заменяется загружаемым файлом.
Root Project build.gradle
buildscript {
repositories {
(.. content committed ..)
}
}
plugins {
(.. content committed ..)
}
configurations.all {
resolutionStrategy.dependencySubstitution {
substitute project(":base-api") because "we use a stable version of base-api" with module("com.xyz:base-api:0.0.1")
}
}
allprojects {
repositories {
mavenLocal()
mavenCentral()
jcenter()
}
group = 'com.xyz'
(.. content committed ..)
dependencies {
implementation project(":base-api")
}
test {
useJUnitPlatform()
}
}
subprojects {
(.. Tasks and blocks related to publishing ..)
}
Root Project setting.gradle
rootProject.name = 'abc'
include ':base-api'
(.. other subprojects ..)
С приведенной выше конфигурацией, когда я выполняю чистую и строю проект root, он все еще пытается построить локальный проект. Итак, все, что я хотел знать, это
- Я что-то упускаю здесь о том, как это делается правильно?
- Также каков предложенный правильный способ использования работы со сборками нескольких проектов, когда в сценарий, в котором разработчик должен работать только с одним из подмодулей, а разработчик не тратит время на создание чего-то, что не имеет отношения к разработчику.
Изменить: также забыл упомянуть, что Я попытался добавить блок configuration.all {} ко всем проектам, но это не помогло.
Edit2: прочитал ключевую зависимость, которая была удалена по ошибке