Skip to content

Commit

Permalink
Merge pull request #1918 from bjaglin/scalafixAll-scala3
Browse files Browse the repository at this point in the history
run scalafix on Scala 3 sources
  • Loading branch information
bjaglin authored Feb 3, 2024
2 parents 8fcea0d + cd28ecd commit d50f8ff
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 16 deletions.
2 changes: 1 addition & 1 deletion .scalafix.conf → .scalafix-scala2.conf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ExplicitResultTypes {
OrganizeImports {
groupedImports = Explode
expandRelative = true
removeUnused = true # done already by RemoveUnused rule
removeUnused = true
groups = [
"re:javax?\\."
"scala."
Expand Down
15 changes: 15 additions & 0 deletions .scalafix-scala3.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
rules = [
OrganizeImports
]

OrganizeImports {
groupedImports = Explode
expandRelative = true
removeUnused = false
groups = [
"re:javax?\\."
"scala."
"scala.meta."
"*"
]
}
16 changes: 12 additions & 4 deletions project/ScalafixBuild.scala
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
import autoImport._

override def globalSettings: Seq[Def.Setting[_]] = List(
excludeLintKeys += scalafixConfig, // defined on projects where ScalafixPlugin is disabled
stableVersion := (ThisBuild / version).value.replaceFirst("\\+.*", ""),
resolvers ++=
Resolver.sonatypeOssRepos("snapshots") ++
Expand Down Expand Up @@ -330,16 +331,23 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {

private def configSettings: Seq[Def.Setting[_]] = List(
// Workaround for https://github.com/scalacenter/scalafix/issues/1592:
// effectively skip scalafix[All] if the scala binary version of the project
// does not match the scalafix one (which cannot be per-project as it must be
// defined on ThisBuild)
// effectively skip scalafix[All] on 2.x projects not matching scalafixScalaBinaryVersion
scalafix / unmanagedSources := {
val prev = (scalafix / unmanagedSources).value
if (scalaBinaryVersion.value == scalafixScalaBinaryVersion.value) {
if (
Seq(scalafixScalaBinaryVersion.value, "3")
.contains(scalaBinaryVersion.value)
) {
prev
} else {
Seq()
}
},
scalafixConfig := {
if (scalaBinaryVersion.value.startsWith("2"))
Some(file(".scalafix-scala2.conf"))
else
Some(file(".scalafix-scala3.conf"))
}
)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package scalafix.util

import scala.meta.internal.semanticdb.XtensionSemanticdbType
import scala.meta.internal.semanticdb.XtensionSemanticdbScope
import scala.meta.internal.semanticdb.XtensionSemanticdbType

object CompatSemanticdbType {
type SemanticdbType = XtensionSemanticdbType
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
package scalafix.internal.reflect

import java.io.File

import dotty.tools.dotc.Compiler
import dotty.tools.dotc.Run
import dotty.tools.dotc.core.Contexts.FreshContext
import dotty.tools.dotc.util.SourceFile
import dotty.tools.dotc.reporting.StoreReporter
import dotty.tools.dotc.interactive.InteractiveDriver
import dotty.tools.dotc.reporting.StoreReporter
import dotty.tools.dotc.util.SourceFile
import dotty.tools.io.AbstractFile
import dotty.tools.io.Directory
import dotty.tools.io.PlainDirectory
import dotty.tools.io.VirtualFile
import dotty.tools.io.VirtualDirectory
import dotty.tools.io.VirtualFile
import dotty.tools.repl.AbstractFileClassLoader

import metaconfig.ConfError
import metaconfig.Configured
import metaconfig.Input
import metaconfig.ConfError
import metaconfig.Position

import java.io.File
class RuleCompiler(
classpath: String,
targetDirectory: Option[File] = None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,7 @@ import metaconfig.ConfOps
import metaconfig.Configured
import metaconfig.internal.ConfGet
import scalafix.internal.config.ScalaVersion
import scalafix.internal.rule.ImportMatcher.*
import scalafix.internal.rule.ImportMatcher.---
import scalafix.internal.rule.ImportMatcher.parse
import scalafix.internal.rule.ImportMatcher._
import scalafix.lint.Diagnostic
import scalafix.patch.Patch
import scalafix.v1.Configuration
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package scalafix.tests.util.compat

import java.nio.file.Path

import dotty.tools.dotc.Main

object CompatSemanticdb {
Expand Down

0 comments on commit d50f8ff

Please sign in to comment.