У меня есть приложение с тремя библиотеками:
:main
:module1
:module2
:di_api
Library:main:
build.gradle.kts:
Код: Выделить всё
dependencies {
implementationProjects(
":module2",
CommonProjectLibraries.DiApi
)
implementationList(
DependsLibraries.daggerLibs,
)
ksps(DependsLibraries.moshiKsp, DependsLibraries.daggerKsp)
}
< /code>
mainclass: < /p>
class MainClass {
fun get() {
DaggerModule2Component
.builder()
.build()
}
}
build.gradle.kts:
Код: Выделить всё
dependencies {
implementationList(
DependsLibraries.daggerLibs,
)
ksps(DependsLibraries.moshiKsp, DependsLibraries.daggerKsp)
}
Код: Выделить всё
@Scope
@Retention(AnnotationRetention.SOURCE)
annotation class PerModule
build.gradle.kts:
Код: Выделить всё
dependencies {
implementationProjects(
CommonProjectLibraries.DiApi
)
implementationList(
DependsLibraries.daggerLibs,
)
ksps(DependsLibraries.moshiKsp, DependsLibraries.daggerKsp)
}
< /code>
testclass.kt:
class TestClass {}
< /code>
needtestclass.kt:
class NeedTestClass(val test: TestClass) {}
Код: Выделить всё
@Module
class Module1Module {
@Provides
@PerModule
fun provideTestClass(): TestClass {
return TestClass()
}
@Provides
fun provideNeedTestClass(test: TestClass): NeedTestClass {
return NeedTestClass(test)
}
}
< /code>
библиотека: module2: < /p>
build.gradle.kts:
dependencies {
implementationProjects(
":enva:module1",
CommonProjectLibraries.DiApi
)
implementationList(
DependsLibraries.daggerLibs,
)
ksps(DependsLibraries.moshiKsp, DependsLibraries.daggerKsp)
}
@Component(
modules = [
Module1Module::class
]
)
@PerModule
interface Module2Component {}
< /code>
и после компиляции у меня есть следующая ошибка:
[ksp] java.lang.illegalstateexception: ожидаемый com.example.module1.di.module1module.provideTestClass (), чтобы иметь анонцию применения для мобильного. []
Я думаю, что эта проблема с методом включает зависимости, я использую реализацию , но если я использую api у меня нет ошибки. Может быть, ошибка в шаг, но я не понимаю этого процесса. Пожалуйста, объясните, как это работает, если вы знаете.
Подробнее здесь: https://stackoverflow.com/questions/797 ... -libraries
Мобильная версия