From e015cb75ab19c54222ffdaf3c5ba16f3cc77da01 Mon Sep 17 00:00:00 2001 From: Brice Jaglin Date: Wed, 17 Apr 2024 15:17:25 +0200 Subject: [PATCH] use same interface for normal and compilation-less, informational ones --- .../scala/scalafix/sbt/ScalafixPlugin.scala | 54 ++++++++----------- 1 file changed, 21 insertions(+), 33 deletions(-) diff --git a/src/main/scala/scalafix/sbt/ScalafixPlugin.scala b/src/main/scala/scalafix/sbt/ScalafixPlugin.scala index d940bdcc..a0a4d2ab 100644 --- a/src/main/scala/scalafix/sbt/ScalafixPlugin.scala +++ b/src/main/scala/scalafix/sbt/ScalafixPlugin.scala @@ -418,24 +418,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, baseInterface) = 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]( + baseInterface.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 = baseInterface .withArgs(maybeNoCache: _*) .withArgs( Arg.PrintStream(errorLogger), @@ -458,25 +465,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( - cache = scalafixInterfaceCache.value, - scalafixScalaBinaryVersion = scalafixScalaBinaryVersion.value, - scalafixDependencies = scalafixDependencies.value, - scalafixResolvers = allResolvers, - maybeToolClasspath = None, - logger = ScalafixInterface.defaultLogger, - callback = (ThisBuild / scalafixCallback).value - )() - .withArgs(Arg.ParsedArgs(List("--help"))) - .run() - () - } - private def scalafixSyntactic( mainInterface: ScalafixInterface, shellArgs: ShellArgs,