=build Fix commandAlias for fixall and sortImports (#28984)
* =build Fix commandAlias for fixall and sortImports * =build Update sortImports to 0.5.0 * Sort imports to handle `javax`. * fx
This commit is contained in:
parent
de7d18667f
commit
bada816714
35 changed files with 97 additions and 77 deletions
|
|
@ -7,14 +7,23 @@ package akka
|
|||
import java.io.File
|
||||
|
||||
import com.typesafe.config.ConfigFactory
|
||||
import sbt.AutoPlugin
|
||||
import sbt.Def
|
||||
import sbt.file
|
||||
import sbt.internal.sbtscalafix.Compat
|
||||
|
||||
class ProjectFileIgnoreSupport(ignoreConfigFile: File, descriptor: String) {
|
||||
private val stdoutLogger = Compat.ConsoleLogger(System.out)
|
||||
|
||||
private val javaSourceDirectories = Set(
|
||||
"java",
|
||||
Jdk9.JAVA_SOURCE_DIRECTORY,
|
||||
Jdk9.JAVA_TEST_SOURCE_DIRECTORY
|
||||
)
|
||||
|
||||
private val scalaSourceDirectories = Set(
|
||||
"scala",
|
||||
Jdk9.SCALA_SOURCE_DIRECTORY,
|
||||
Jdk9.SCALA_TEST_SOURCE_DIRECTORY
|
||||
)
|
||||
|
||||
private lazy val ignoreConfig = {
|
||||
require(ignoreConfigFile.exists(), s"Expected ignore configuration for $descriptor at ${ignoreConfigFile.getAbsolutePath} but was missing")
|
||||
ConfigFactory.parseFile(ignoreConfigFile)
|
||||
|
|
@ -55,7 +64,7 @@ class ProjectFileIgnoreSupport(ignoreConfigFile: File, descriptor: String) {
|
|||
case Some(packageName) =>
|
||||
val ignored = packageName.startsWith(pkg)
|
||||
if (ignored) {
|
||||
stdoutLogger.debug(s"$descriptor ignored file with pkg:$pkg file:[${file.toPath}] ")
|
||||
stdoutLogger.debug(s"$descriptor ignored file with pkg:$pkg for package:$packageName file:[${file.toPath}] ")
|
||||
}
|
||||
ignored
|
||||
case None => false
|
||||
|
|
@ -65,22 +74,23 @@ class ProjectFileIgnoreSupport(ignoreConfigFile: File, descriptor: String) {
|
|||
}
|
||||
|
||||
private def getPackageName(fileName: String): Option[String] = {
|
||||
def getPackageName0(fileType: String): String = {
|
||||
def getPackageName0(sourceDirectories:Set[String]): String = {
|
||||
import java.io.{File => JFile}
|
||||
fileName.split(JFile.separatorChar)
|
||||
.dropWhile(part => part != fileType)
|
||||
val packageName = fileName.split(JFile.separatorChar)
|
||||
.dropWhile(part => !sourceDirectories(part))
|
||||
.drop(1)
|
||||
.dropRight(1)
|
||||
.mkString(".")
|
||||
packageName
|
||||
}
|
||||
|
||||
fileName.split('.').lastOption match {
|
||||
case Some(fileType) =>
|
||||
fileType match {
|
||||
case "java" =>
|
||||
Option(getPackageName0("java"))
|
||||
Option(getPackageName0(javaSourceDirectories))
|
||||
case "scala" =>
|
||||
Option(getPackageName0("scala"))
|
||||
Option(getPackageName0(scalaSourceDirectories))
|
||||
case _ => None
|
||||
}
|
||||
case None => None
|
||||
|
|
|
|||
|
|
@ -15,6 +15,6 @@ object ScalaFixExtraRulesPlugin extends AutoPlugin with ScalafixSupport{
|
|||
import sbt._
|
||||
import scalafix.sbt.ScalafixPlugin.autoImport.scalafixDependencies
|
||||
override def projectSettings: Seq[Def.Setting[_]] = super.projectSettings ++ {
|
||||
scalafixDependencies in ThisBuild += "com.nequissimus" %% "sort-imports" % "0.4.0"
|
||||
scalafixDependencies in ThisBuild += "com.nequissimus" %% "sort-imports" % "0.5.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,15 +6,26 @@ package akka
|
|||
|
||||
import sbt.{AutoPlugin, PluginTrigger, Plugins, ScalafixSupport}
|
||||
import scalafix.sbt.ScalafixPlugin
|
||||
object ScalaFixForJdk9Plugin extends AutoPlugin with ScalafixSupport{
|
||||
object ScalaFixForJdk9Plugin extends AutoPlugin with ScalafixSupport {
|
||||
override def trigger: PluginTrigger = allRequirements
|
||||
import Jdk9._
|
||||
override def requires: Plugins = Jdk9 && ScalafixPlugin
|
||||
override def requires: Plugins = Jdk9
|
||||
|
||||
import ScalafixPlugin.autoImport.scalafixConfigSettings
|
||||
import sbt._
|
||||
override def projectSettings: Seq[Def.Setting[_]] = super.projectSettings ++ {
|
||||
inConfig(TestJdk9)(scalafixConfigSettings(TestJdk9)) ++
|
||||
inConfig(CompileJdk9)(scalafixConfigSettings(CompileJdk9))
|
||||
}
|
||||
|
||||
lazy val scalafixIgnoredSetting: Seq[Setting[_]] = Seq(
|
||||
ignore(TestJdk9)
|
||||
)
|
||||
|
||||
override def projectSettings: Seq[Def.Setting[_]] =
|
||||
Seq(CompileJdk9, TestJdk9).flatMap(c => inConfig(c)(scalafixConfigSettings(c))) ++
|
||||
scalafixIgnoredSetting ++ Seq(
|
||||
updateProjectCommands(
|
||||
alias = "fixall",
|
||||
value = ";scalafixEnable;compile:scalafix;test:scalafix;multi-jvm:scalafix;scalafmtAll;test:compile;multi-jvm:compile;reload"),
|
||||
updateProjectCommands(
|
||||
alias = "sortImports",
|
||||
value = ";scalafixEnable;compile:scalafix SortImports;test:scalafix SortImports;CompileJdk9:scalafix SortImports;TestJdk9:scalafix SortImports;scalafmtAll")
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,10 @@ object ScalafixForMultiNodePlugin extends AutoPlugin with ScalafixSupport {
|
|||
Seq(MultiJvm).flatMap(c => inConfig(c)(scalafixConfigSettings(c))) ++
|
||||
scalafixIgnoredSetting ++ Seq(
|
||||
updateProjectCommands(
|
||||
alias = "fix",
|
||||
value = ";scalafixEnable;compile:scalafix;test:scalafix;multi-jvm:scalafix;test:compile;reload"))
|
||||
alias = "fixall",
|
||||
value = ";scalafixEnable;compile:scalafix;test:scalafix;multi-jvm:scalafix;scalafmtAll"),
|
||||
updateProjectCommands(
|
||||
alias = "sortImports",
|
||||
value = ";scalafixEnable;compile:scalafix SortImports;test:scalafix SortImports;multi-jvm:scalafix SortImports;scalafmtAll")
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue