Skip to content

Commit

Permalink
use same interface for normal and compilation-less, informational ones
Browse files Browse the repository at this point in the history
  • Loading branch information
bjaglin committed Apr 17, 2024
1 parent aba18e2 commit f5b2d7d
Showing 1 changed file with 21 additions and 32 deletions.
53 changes: 21 additions & 32 deletions src/main/scala/scalafix/sbt/ScalafixPlugin.scala
Original file line number Diff line number Diff line change
Expand Up @@ -403,24 +403,31 @@ object ScalafixPlugin extends AutoPlugin {
(ScalafixConfig / externalDependencyClasspath).value
.flatMap(_.get(moduleID.key))

if (shellArgs.rules.isEmpty && shellArgs.extra == List("--help")) {
scalafixHelp
val allResolvers =
((ThisBuild / scalafixResolvers).value ++ (ThisBuild / scalafixSbtResolversAsCoursierRepositories).value).distinct
val (shell, interface) = scalafixArgsFromShell(
shellArgs,
projectDepsExternal,
projectDepsInternal,
scalafixScalaBinaryVersion.value,
scalafixDependencies.value,
allResolvers,
(ThisBuild / scalafixCallback).value
)

val informationalInvocation = shellArgs.extra
.intersect(List("--help", "-h", "--version", "-v"))
.nonEmpty

if (informationalInvocation) {
Def.task[Unit](
interface.withArgs(Arg.ParsedArgs(shell.extra)).run()
)
} else {
val scalafixConf = (config / scalafixConfig).value.map(_.toPath)
val allResolvers =
((ThisBuild / scalafixResolvers).value ++ (ThisBuild / scalafixSbtResolversAsCoursierRepositories).value).distinct
val (shell, mainInterface0) = scalafixArgsFromShell(
shellArgs,
projectDepsExternal,
projectDepsInternal,
scalafixScalaBinaryVersion.value,
scalafixDependencies.value,
allResolvers,
(ThisBuild / scalafixCallback).value
)
val maybeNoCache =
if (shell.noCache || !scalafixCaching.value) Seq(Arg.NoCache) else Nil
val mainInterface = mainInterface0
val mainInterface = interface
.withArgs(maybeNoCache: _*)
.withArgs(
Arg.PrintStream(errorLogger),
Expand All @@ -443,24 +450,6 @@ object ScalafixPlugin extends AutoPlugin {
task.tag(Scalafix)
}

private def scalafixHelp: Def.Initialize[Task[Unit]] =
Def.task {
val allResolvers =
((ThisBuild / scalafixResolvers).value ++ (ThisBuild / scalafixSbtResolversAsCoursierRepositories).value).distinct
ScalafixInterface
.provider(
scalafixScalaBinaryVersion = scalafixScalaBinaryVersion.value,
scalafixDependencies = scalafixDependencies.value,
scalafixResolvers = allResolvers,
logger = ScalafixInterface.defaultLogger,
callback = (ThisBuild / scalafixCallback).value,
maybeToolClasspath = None
)()
.withArgs(Arg.ParsedArgs(List("--help")))
.run()
()
}

private def scalafixSyntactic(
mainInterface: ScalafixInterface,
shellArgs: ShellArgs,
Expand Down

0 comments on commit f5b2d7d

Please sign in to comment.