in modules/core/src/main/scala/org/scalasteward/core/application/Context.scala [124:199]
def step1[F[_]](config: Config)(implicit
client: Client[F],
urlCheckerClient: UrlCheckerClient[F],
fileAlg: FileAlg[F],
logger: Logger[F],
processAlg: ProcessAlg[F],
workspaceAlg: WorkspaceAlg[F],
F: Async[F]
): F[Context[F]] = {
implicit val httpJsonClient: HttpJsonClient[F] = new HttpJsonClient[F]()
implicit val forgeAuthAlg: ForgeAuthAlg[F] = ForgeAuthAlg.create[F](config)
for {
_ <- F.unit
artifactMigrationsLoader0 = new ArtifactMigrationsLoader[F]
artifactMigrationsFinder0 <- artifactMigrationsLoader0.createFinder(config.artifactCfg)
scalafixMigrationsLoader0 = new ScalafixMigrationsLoader[F]
scalafixMigrationsFinder0 <- scalafixMigrationsLoader0.createFinder(config.scalafixCfg)
repoConfigLoader0 = new RepoConfigLoader[F]
maybeGlobalRepoConfig <- repoConfigLoader0.loadGlobalRepoConfig(config.repoConfigCfg)
urlChecker0 <- UrlChecker.create[F](config, forgeAuthAlg.authenticateApi)
kvsPrefix = Some(config.forgeCfg.tpe.asString)
pullRequestsStore <- JsonKeyValueStore
.create[F, Repo, Map[Uri, PullRequestRepository.Entry]]("pull_requests", "2", kvsPrefix)
.flatMap(CachingKeyValueStore.wrap(_))
refreshErrorStore <- JsonKeyValueStore
.create[F, Repo, RefreshErrorAlg.Entry]("refresh_error", "1", kvsPrefix)
repoCacheStore <- JsonKeyValueStore
.create[F, Repo, RepoCache]("repo_cache", "1", kvsPrefix)
versionsStore <- JsonKeyValueStore
.create[F, VersionsCache.Key, VersionsCache.Value]("versions", "2")
} yield {
implicit val artifactMigrationsLoader: ArtifactMigrationsLoader[F] = artifactMigrationsLoader0
implicit val artifactMigrationsFinder: ArtifactMigrationsFinder = artifactMigrationsFinder0
implicit val scalafixMigrationsLoader: ScalafixMigrationsLoader[F] = scalafixMigrationsLoader0
implicit val scalafixMigrationsFinder: ScalafixMigrationsFinder = scalafixMigrationsFinder0
implicit val urlChecker: UrlChecker[F] = urlChecker0
implicit val dateTimeAlg: DateTimeAlg[F] = DateTimeAlg.create[F]
implicit val repoConfigAlg: RepoConfigAlg[F] = new RepoConfigAlg[F](maybeGlobalRepoConfig)
implicit val filterAlg: FilterAlg[F] = new FilterAlg[F]
implicit val gitAlg: GitAlg[F] = GenGitAlg.create[F](config)
implicit val hookExecutor: HookExecutor[F] = new HookExecutor[F]
implicit val repoCacheRepository: RepoCacheRepository[F] =
new RepoCacheRepository[F](repoCacheStore)
implicit val forgeApiAlg: ForgeApiAlg[F] = ForgeSelection
.forgeApiAlg[F](config.forgeCfg, config.forgeSpecificCfg, forgeAuthAlg.authenticateApi)
implicit val forgeRepoAlg: ForgeRepoAlg[F] = new ForgeRepoAlg[F](config)
implicit val forgeCfg: ForgeCfg = config.forgeCfg
implicit val updateInfoUrlFinder: UpdateInfoUrlFinder[F] = new UpdateInfoUrlFinder[F]
implicit val pullRequestRepository: PullRequestRepository[F] =
new PullRequestRepository[F](pullRequestsStore)
implicit val scalafixCli: ScalafixCli[F] = new ScalafixCli[F]
implicit val scalafmtAlg: ScalafmtAlg[F] = new ScalafmtAlg[F](config.defaultResolvers)
implicit val selfCheckAlg: SelfCheckAlg[F] = new SelfCheckAlg[F](config)
implicit val coursierAlg: CoursierAlg[F] = CoursierAlg.create[F]
implicit val versionsCache: VersionsCache[F] =
new VersionsCache[F](config.cacheTtl, versionsStore)
implicit val updateAlg: UpdateAlg[F] = new UpdateAlg[F]
implicit val gradleAlg: GradleAlg[F] = new GradleAlg[F](config.defaultResolvers)
implicit val mavenAlg: MavenAlg[F] = new MavenAlg[F](config)
implicit val sbtAlg: SbtAlg[F] =
new SbtAlg[F](config.defaultResolvers, config.ignoreOptsFiles)
implicit val scalaCliAlg: ScalaCliAlg[F] = new ScalaCliAlg[F]
implicit val millAlg: MillAlg[F] = new MillAlg[F](config.defaultResolvers)
implicit val buildToolDispatcher: BuildToolDispatcher[F] = new BuildToolDispatcher[F]
implicit val refreshErrorAlg: RefreshErrorAlg[F] =
new RefreshErrorAlg[F](refreshErrorStore, config.refreshBackoffPeriod)
implicit val repoCacheAlg: RepoCacheAlg[F] = new RepoCacheAlg[F](config)
implicit val scannerAlg: ScannerAlg[F] = new ScannerAlg[F]
implicit val editAlg: EditAlg[F] = new EditAlg[F]
implicit val nurtureAlg: NurtureAlg[F] = new NurtureAlg[F](config.forgeCfg)
implicit val pruningAlg: PruningAlg[F] = new PruningAlg[F]
implicit val reposFilesLoader: ReposFilesLoader[F] = new ReposFilesLoader[F]
implicit val stewardAlg: StewardAlg[F] = new StewardAlg[F](config)
new Context[F]
}
}