DomainModule.kt
package com.sebastmar.module.report.internal.domain.di
import com.sebastmar.module.report.internal.domain.GetAllVersionedFiles
import com.sebastmar.module.report.internal.domain.GetAllVersionedFilesImpl
import com.sebastmar.module.report.internal.domain.GetProjectRoot
import com.sebastmar.module.report.internal.domain.GetProjectRootImpl
import com.sebastmar.module.report.internal.domain.GetPullRequest
import com.sebastmar.module.report.internal.domain.GetPullRequestImpl
import com.sebastmar.module.report.internal.domain.GetUpdatedModules
import com.sebastmar.module.report.internal.domain.GetUpdatedModulesImpl
import com.sebastmar.module.report.internal.domain.GetVersionedFiles
import com.sebastmar.module.report.internal.domain.GetVersionedFilesImpl
import com.sebastmar.module.report.internal.domain.SkipReport
import com.sebastmar.module.report.internal.domain.SkipReportImpl
import com.sebastmar.module.report.internal.system.di.dangerSystemModule
import org.koin.core.module.dsl.factoryOf
import org.koin.dsl.bind
import org.koin.dsl.module
internal fun domainModule() = module {
factoryOf(::GetVersionedFilesImpl) bind GetVersionedFiles::class
factoryOf(::GetAllVersionedFilesImpl) bind GetAllVersionedFiles::class
factoryOf(::GetUpdatedModulesImpl) bind GetUpdatedModules::class
factoryOf(::GetPullRequestImpl) bind GetPullRequest::class
factoryOf(::SkipReportImpl) bind SkipReport::class
factoryOf(::GetProjectRootImpl) bind GetProjectRoot::class
}.apply {
includes(
dangerSystemModule(),
configurationModule(),
)
}