in modules/core/src/main/scala/org/scalasteward/core/forge/data/NewPullRequestData.scala [326:370]
def labelsFor(
update: Update,
edits: List[EditAttempt] = List.empty,
filesWithOldVersion: List[String] = List.empty,
artifactIdToVersionScheme: Map[String, String] = Map.empty
): List[String] = {
val commitCount = edits.flatMap(_.commits).size
val commitCountLabel = "commit-count:" + (commitCount match {
case n if n <= 1 => s"$n"
case n => s"n:$n"
})
def semverForUpdate(u: Update.Single): List[String] = {
val semVerVersions =
(SemVer.parse(u.currentVersion.value), SemVer.parse(u.nextVersion.value)).tupled
val earlySemVerLabel = semVerVersions.flatMap { case (curr, next) =>
SemVer.getChangeEarly(curr, next).map(c => s"early-semver-${c.render}")
}
val semVerSpecLabel = semVerVersions.flatMap { case (curr, next) =>
SemVer.getChangeSpec(curr, next).map(c => s"semver-spec-${c.render}")
}
val versionSchemeLabel =
artifactIdToVersionScheme.get(u.mainArtifactId).map(vs => s"version-scheme:$vs")
List(earlySemVerLabel, semVerSpecLabel, versionSchemeLabel).flatten
}
val semverLabels =
update.on(u => semverForUpdate(u), _.updates.flatMap(semverForUpdate(_)).distinct)
val artifactMigrationsLabel = Option.when {
update.asSingleUpdates
.flatMap(_.forArtifactIds.toList)
.exists(u => u.newerGroupId.nonEmpty || u.newerArtifactId.nonEmpty)
}("artifact-migrations")
val scalafixLabel = edits.collectFirst { case _: ScalafixEdit => "scalafix-migrations" }
val oldVersionLabel = Option.when(filesWithOldVersion.nonEmpty)("old-version-remains")
List.concat(
updateTypeLabels(update),
semverLabels,
artifactMigrationsLabel,
scalafixLabel,
oldVersionLabel,
List(commitCountLabel)
)
}