in modules/core/src/main/scala/org/scalasteward/core/application/Context.scala [91:122]
def step0[F[_]](config: Config)(implicit F: Async[F]): Resource[F, Context[F]] =
for {
logger <- Resource.eval(Slf4jLogger.fromName[F]("org.scalasteward.core"))
_ <- Resource.eval(logger.info(banner))
_ <- Resource.eval(F.delay(System.setProperty("http.agent", userAgentString)))
userAgent <- Resource.eval(F.fromEither(`User-Agent`.parse(1)(userAgentString)))
middleware = ClientConfiguration
.setUserAgent[F](userAgent)
.andThen(ClientConfiguration.retryAfter[F](maxAttempts = PosInt.unsafeFrom(5)))
defaultClient <- ClientConfiguration.build(
ClientConfiguration.BuilderMiddleware.default,
middleware
)
urlCheckerClient <- ClientConfiguration.build(
ClientConfiguration.disableFollowRedirect,
middleware
)
fileAlg = FileAlg.create(logger, F)
processAlg = ProcessAlg.create(config.processCfg)(logger, F)
workspaceAlg = WorkspaceAlg.create(config)(fileAlg, logger, F)
context <- Resource.eval {
step1(config)(
defaultClient,
UrlCheckerClient(urlCheckerClient),
fileAlg,
logger,
processAlg,
workspaceAlg,
F
)
}
} yield context