=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:
kerr 2020-05-11 17:47:33 +08:00 committed by GitHub
parent de7d18667f
commit bada816714
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
35 changed files with 97 additions and 77 deletions

View file

@ -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