From 672ed445b1694b5d4980132c99de7b47c100f723 Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Sun, 28 Jun 2020 20:47:19 +0200 Subject: [PATCH] Add scalafix and organize-imports rule --- .scalafix.conf | 13 +++++++++++++ build.sbt | 9 +++++++-- project/Dependencies.scala | 5 +++++ project/plugins.sbt | 1 + 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 .scalafix.conf diff --git a/.scalafix.conf b/.scalafix.conf new file mode 100644 index 00000000..9cd16781 --- /dev/null +++ b/.scalafix.conf @@ -0,0 +1,13 @@ +rules = [ + ProcedureSyntax + OrganizeImports +] +OrganizeImports { + coalesceToWildcardImportThreshold = 3 + expandRelative = true + groupedImports = Keep + importsOrder = Ascii + groups = ["re:javax?\\.", "scala.", "re:(cats|fs2)\\.", "docspell.", "*"] + importSelectorsOrder = Ascii + removeUnused = true +} \ No newline at end of file diff --git a/build.sbt b/build.sbt index f0e27e5d..d9c31f2c 100644 --- a/build.sbt +++ b/build.sbt @@ -11,6 +11,12 @@ val elmCompileMode = settingKey[ElmCompileMode]("How to compile elm sources") // --- Settings +val scalafixSettings = Seq( + semanticdbEnabled := true, // enable SemanticDB + semanticdbVersion := scalafixSemanticdb.revision, //"4.3.10", // use Scalafix compatible version + ThisBuild / scalafixDependencies ++= Dependencies.organizeImports +) + val sharedSettings = Seq( organization := "com.github.eikek", scalaVersion := "2.13.2", @@ -37,7 +43,7 @@ val sharedSettings = Seq( (scalacOptions.value.filter(o => !o.contains("Xlint")) ++ Seq("-Xlint:_,-unused")), scalacOptions in (Test, console) := (scalacOptions.value.filter(o => !o.contains("Xlint")) ++ Seq("-Xlint:_,-unused")) -) +) ++ scalafixSettings val testSettings = Seq( testFrameworks += new TestFramework("minitest.runner.Framework"), @@ -143,7 +149,6 @@ val openapiScalaSettings = Seq( ) - // --- Modules // Base module, everything depends on this – including restapi and diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 9f920ac6..30f16b26 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -24,6 +24,7 @@ object Dependencies { val LogbackVersion = "1.2.3" val MariaDbVersion = "2.6.1" val MiniTestVersion = "2.8.2" + val OrganizeImportsVersion = "0.3.1-RC3" val PdfboxVersion = "2.0.20" val PoiVersion = "4.1.2" val PostgresVersion = "42.2.14" @@ -253,4 +254,8 @@ object Dependencies { val icu4j = Seq( "com.ibm.icu" % "icu4j" % Icu4jVersion ) + + val organizeImports = Seq( + "com.github.liancheng" %% "organize-imports" % OrganizeImportsVersion + ) } diff --git a/project/plugins.sbt b/project/plugins.sbt index 7a4ea605..30e994f4 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,3 +1,4 @@ +addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.17") addSbtPlugin("com.47deg" % "sbt-microsites" % "1.2.1") addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.9.0") addSbtPlugin("com.github.eikek" % "sbt-openapi-schema" % "0.6.1")