Skip to content

Commit

Permalink
scalafixEnable: refer to sbt keys in log messages
Browse files Browse the repository at this point in the history
  • Loading branch information
bjaglin committed Mar 24, 2022
1 parent 012651c commit ac062ef
Showing 1 changed file with 29 additions and 26 deletions.
55 changes: 29 additions & 26 deletions src/main/scala/scalafix/sbt/ScalafixEnable.scala
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ object ScalafixEnable {
scalaVersion := {
val v = recommendedSemanticdbScalacScalaV.toString
sLog.value.warn(
s"Forcing scalaVersion $v in project " +
s"Forcing scalaVersion to $v in project " +
s"${project.ref.project} since no semanticdb-scalac " +
s"version binary-compatible with $recommendedSemanticdbV " +
s"and cross-published for scala " +
Expand All @@ -125,57 +125,60 @@ object ScalafixEnable {
)
v
},
semanticdbCompilerPlugin :=
semanticdbCompilerPlugin.value
.withRevision(recommendedSemanticdbV.toString)
semanticdbVersion := recommendedSemanticdbV.toString
)
case Success(available)
if available.contains(recommendedSemanticdbV) =>
Seq(
semanticdbCompilerPlugin :=
semanticdbCompilerPlugin.value
.withRevision(recommendedSemanticdbV.toString)
semanticdbVersion := recommendedSemanticdbV.toString
)
case Success(earliestAvailable :: tail) =>
val futureVersion =
SemanticSelector.apply(s">${recommendedSemanticdbV}")

if (earliestAvailable.matchesSemVer(futureVersion)) {
Seq(
semanticdbCompilerPlugin := {
semanticdbVersion := {
val v = earliestAvailable.toString
sLog.value.info(
s"Using semanticdb-scalac $v in project " +
s"Setting semanticdbVersion to $v in project " +
s"${project.ref.project} since the version " +
s"${recommendedSemanticdbV} tracked by scalafix " +
s"${BuildInfo.scalafixVersion} will not be " +
s"published for scala " +
s"${project.scalaVersion0.toString} - " +
s"consider upgrading sbt-scalafix"
)
semanticdbCompilerPlugin.value.withRevision(v)
v
}
)
} else {
val latestAvailable =
tail.lastOption.getOrElse(earliestAvailable)
Seq(
semanticdbCompilerPlugin := {
val v = latestAvailable.toString
sLog.value.info(
s"Using semanticdb-scalac $v in project " +
s"${project.ref.project} since the version " +
s"${recommendedSemanticdbV} tracked by scalafix " +
s"${BuildInfo.scalafixVersion} is no longer " +
s"published for scala " +
s"${project.scalaVersion0.toString} - " +
s"consider bumping scala"
)
semanticdbCompilerPlugin.value.withRevision(v)
}
)
Seq(
semanticdbVersion := {
val v = latestAvailable.toString
sLog.value.info(
s"Setting semanticdbVersion to $v in project " +
s"${project.ref.project} since the version " +
s"${recommendedSemanticdbV} tracked by scalafix " +
s"${BuildInfo.scalafixVersion} is no longer " +
s"published for scala " +
s"${project.scalaVersion0.toString} - " +
s"consider bumping scala"
)
v
}
)
}
}
} :+ (semanticdbEnabled := true)
} ++ Seq(
semanticdbEnabled := true,
// support sbt 1.3.[0-3] which does not contain
// https://github.com/sbt/sbt/pull/5202
(semanticdbCompilerPlugin := semanticdbCompilerPlugin.value
.withRevision((semanticdbVersion).value))
)
settings <-
inScope(ThisScope.copy(project = Select(project.ref)))(
scalacOptionsSettings ++ enableSemanticdbPlugin
Expand Down

0 comments on commit ac062ef

Please sign in to comment.