in modules/core/src/main/scala/org/scalasteward/core/update/PruningAlg.scala [107:127]
private def findUpdateState(
repo: Repo,
repoCache: RepoCache,
updates: List[Update.ForArtifactId]
)(
crossDependency: CrossDependency
): F[UpdateState] =
updates.find(UpdateAlg.isUpdateFor(_, crossDependency)) match {
case None => F.pure(DependencyUpToDate(crossDependency))
case Some(update) =>
pullRequestRepository.findLatestPullRequest(repo, crossDependency, update.nextVersion).map {
case None =>
DependencyOutdated(crossDependency, update)
case Some(pr) if pr.state.isClosed =>
PullRequestClosed(crossDependency, update, pr.url)
case Some(pr) if pr.baseSha1 === repoCache.sha1 =>
PullRequestUpToDate(crossDependency, update, pr.url)
case Some(pr) =>
PullRequestOutdated(crossDependency, update, pr.url)
}
}