From 287e4aef7cb9bcdab9a48e7e8f6eaad0568dc9c8 Mon Sep 17 00:00:00 2001 From: David Gregory Date: Tue, 17 May 2022 18:54:08 +0100 Subject: [PATCH 01/10] Add Scalafix integration --- .github/workflows/ci.yml | 4 +-- .gitignore | 3 ++ .mergify.yml | 8 ++++++ .scalafix.conf | 7 +++++ build.sbt | 10 +++++++ .../org/typelevel/sbt/TypelevelPlugin.scala | 2 ++ project/build.sbt | 1 + project/scalafix.sbt | 1 + scalafix/build.sbt | 1 + .../sbt/TypelevelScalafixPlugin.scala | 28 +++++++++++++++++++ 10 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 .scalafix.conf create mode 120000 project/scalafix.sbt create mode 100644 scalafix/build.sbt create mode 100644 scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2b8e67de..c00a85ea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,11 +86,11 @@ jobs: - name: Make target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/series/0.4') - run: mkdir -p github/target github-actions/target kernel/target versioning/target ci-release/target target .js/target mdocs/target site/target ci-signing/target mergify/target unidoc/target mima/target .jvm/target .native/target no-publish/target sonatype/target ci/target sonatype-ci-release/target core/target settings/target project/target + run: mkdir -p github/target github-actions/target kernel/target versioning/target ci-release/target scalafix/target target .js/target mdocs/target site/target ci-signing/target mergify/target unidoc/target mima/target .jvm/target .native/target no-publish/target sonatype/target ci/target sonatype-ci-release/target core/target settings/target project/target - name: Compress target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/series/0.4') - run: tar cf targets.tar github/target github-actions/target kernel/target versioning/target ci-release/target target .js/target mdocs/target site/target ci-signing/target mergify/target unidoc/target mima/target .jvm/target .native/target no-publish/target sonatype/target ci/target sonatype-ci-release/target core/target settings/target project/target + run: tar cf targets.tar github/target github-actions/target kernel/target versioning/target ci-release/target scalafix/target target .js/target mdocs/target site/target ci-signing/target mergify/target unidoc/target mima/target .jvm/target .native/target no-publish/target sonatype/target ci/target sonatype-ci-release/target core/target settings/target project/target - name: Upload target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/series/0.4') diff --git a/.gitignore b/.gitignore index c7681b7d..6a7cd2b3 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ tags .bloop/ metals.sbt .vscode + +# Mac OS +.DS_Store diff --git a/.mergify.yml b/.mergify.yml index 9533a3ab..c09782f6 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -112,6 +112,14 @@ pull_request_rules: add: - no-publish remove: [] +- name: Label scalafix PRs + conditions: + - files~=^scalafix/ + actions: + label: + add: + - scalafix + remove: [] - name: Label settings PRs conditions: - files~=^settings/ diff --git a/.scalafix.conf b/.scalafix.conf new file mode 100644 index 00000000..af25a903 --- /dev/null +++ b/.scalafix.conf @@ -0,0 +1,7 @@ +rules = [ + OrganizeImports +] + +OrganizeImports { + preset = INTELLIJ_2020_3 +} diff --git a/build.sbt b/build.sbt index acee116c..e5acab56 100644 --- a/build.sbt +++ b/build.sbt @@ -25,6 +25,7 @@ lazy val root = tlCrossRootProject.aggregate( versioning, mima, sonatype, + scalafix, ciSigning, sonatypeCiRelease, ci, @@ -105,6 +106,14 @@ lazy val sonatype = project ) .dependsOn(kernel) +lazy val scalafix = project + .in(file("scalafix")) + .enablePlugins(SbtPlugin) + .settings( + name := "sbt-typelevel-scalafix" + ) + .dependsOn(kernel) + lazy val ciSigning = project .in(file("ci-signing")) .enablePlugins(SbtPlugin) @@ -153,6 +162,7 @@ lazy val core = project ) .dependsOn( ciRelease, + scalafix, settings ) diff --git a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala index 8735e648..444fd818 100644 --- a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala +++ b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala @@ -29,6 +29,7 @@ object TypelevelPlugin extends AutoPlugin { TypelevelKernelPlugin && TypelevelSettingsPlugin && TypelevelCiReleasePlugin && + TypelevelScalafixPlugin && GitHubActionsPlugin && HeaderPlugin @@ -44,6 +45,7 @@ object TypelevelPlugin extends AutoPlugin { import TypelevelCiPlugin.autoImport._ import TypelevelSettingsPlugin.autoImport._ import TypelevelSonatypeCiReleasePlugin.autoImport._ + import TypelevelScalafixPlugin.autoImport._ import GenerativePlugin.autoImport._ import GitHubActionsPlugin.autoImport._ diff --git a/project/build.sbt b/project/build.sbt index 673bf53b..86899e11 100644 --- a/project/build.sbt +++ b/project/build.sbt @@ -13,6 +13,7 @@ val modules = List( "site", "sonatype", "sonatype-ci-release", + "scalafix", "versioning" ) diff --git a/project/scalafix.sbt b/project/scalafix.sbt new file mode 120000 index 00000000..8fd9faa0 --- /dev/null +++ b/project/scalafix.sbt @@ -0,0 +1 @@ +../scalafix/build.sbt \ No newline at end of file diff --git a/scalafix/build.sbt b/scalafix/build.sbt new file mode 100644 index 00000000..57c34290 --- /dev/null +++ b/scalafix/build.sbt @@ -0,0 +1 @@ +addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.10.0") diff --git a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala new file mode 100644 index 00000000..969bcce9 --- /dev/null +++ b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala @@ -0,0 +1,28 @@ +package org.typelevel.sbt + +import sbt._, Keys._ +import scalafix.sbt.ScalafixPlugin +import ScalafixPlugin.autoImport._ + +object TypelevelScalafixPlugin extends AutoPlugin { + + override def requires = ScalafixPlugin + + override def trigger = allRequirements + + object autoImport { + val tlScalafixDependencies = settingKey[Seq[ModuleID]]("The scalafix rule dependencies to enable in the build.") + } + + import autoImport._ + + override def buildSettings = Seq[Setting[_]]( + semanticdbEnabled := true, + semanticdbVersion := scalafixSemanticdb.revision, + scalafixScalaBinaryVersion := CrossVersion.binaryScalaVersion(scalaVersion.value), + tlScalafixDependencies := Seq( + "com.github.liancheng" %% "organize-imports" % "0.6.0" + ), + scalafixDependencies ++= tlScalafixDependencies.value + ) +} From b2547ba614c80784132d315056d96782ae8ed27d Mon Sep 17 00:00:00 2001 From: David Gregory Date: Tue, 17 May 2022 20:25:10 +0100 Subject: [PATCH 02/10] Add copyright header and remove tlScalafixDependencies key --- .../sbt/TypelevelScalafixPlugin.scala | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala index 969bcce9..5a4caa87 100644 --- a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala +++ b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala @@ -1,3 +1,19 @@ +/* + * Copyright 2022 Typelevel + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.typelevel.sbt import sbt._, Keys._ @@ -10,9 +26,7 @@ object TypelevelScalafixPlugin extends AutoPlugin { override def trigger = allRequirements - object autoImport { - val tlScalafixDependencies = settingKey[Seq[ModuleID]]("The scalafix rule dependencies to enable in the build.") - } + object autoImport {} import autoImport._ @@ -20,9 +34,8 @@ object TypelevelScalafixPlugin extends AutoPlugin { semanticdbEnabled := true, semanticdbVersion := scalafixSemanticdb.revision, scalafixScalaBinaryVersion := CrossVersion.binaryScalaVersion(scalaVersion.value), - tlScalafixDependencies := Seq( + scalafixDependencies ++= Seq( "com.github.liancheng" %% "organize-imports" % "0.6.0" - ), - scalafixDependencies ++= tlScalafixDependencies.value + ) ) } From 7cea8b081738a61f283f7bbaba0c14aac5901b5a Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Mon, 30 May 2022 11:28:17 +0000 Subject: [PATCH 03/10] Tweaking --- .gitignore | 3 --- .scalafix.conf | 6 +----- build.sbt | 5 ++++- .../main/scala/org/typelevel/sbt/TypelevelPlugin.scala | 2 -- .../org/typelevel/sbt/TypelevelScalafixPlugin.scala | 9 +-------- 5 files changed, 6 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 6a7cd2b3..c7681b7d 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,3 @@ tags .bloop/ metals.sbt .vscode - -# Mac OS -.DS_Store diff --git a/.scalafix.conf b/.scalafix.conf index af25a903..edf55aee 100644 --- a/.scalafix.conf +++ b/.scalafix.conf @@ -1,7 +1,3 @@ rules = [ - OrganizeImports + OrganizeImports ] - -OrganizeImports { - preset = INTELLIJ_2020_3 -} diff --git a/build.sbt b/build.sbt index e5acab56..9c8ba5fe 100644 --- a/build.sbt +++ b/build.sbt @@ -15,6 +15,10 @@ ThisBuild / mergifyStewardConfig ~= { _.map(_.copy(mergeMinors = true)) } ThisBuild / mergifySuccessConditions += MergifyCondition.Custom("#approved-reviews-by>=1") ThisBuild / mergifyLabelPaths += { "docs" -> file("docs") } +ThisBuild / scalafixDependencies ++= Seq( + "com.github.liancheng" %% "organize-imports" % "0.6.0" +) + lazy val root = tlCrossRootProject.aggregate( kernel, noPublish, @@ -162,7 +166,6 @@ lazy val core = project ) .dependsOn( ciRelease, - scalafix, settings ) diff --git a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala index 444fd818..8735e648 100644 --- a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala +++ b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala @@ -29,7 +29,6 @@ object TypelevelPlugin extends AutoPlugin { TypelevelKernelPlugin && TypelevelSettingsPlugin && TypelevelCiReleasePlugin && - TypelevelScalafixPlugin && GitHubActionsPlugin && HeaderPlugin @@ -45,7 +44,6 @@ object TypelevelPlugin extends AutoPlugin { import TypelevelCiPlugin.autoImport._ import TypelevelSettingsPlugin.autoImport._ import TypelevelSonatypeCiReleasePlugin.autoImport._ - import TypelevelScalafixPlugin.autoImport._ import GenerativePlugin.autoImport._ import GitHubActionsPlugin.autoImport._ diff --git a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala index 5a4caa87..3f70f4ec 100644 --- a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala +++ b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala @@ -26,16 +26,9 @@ object TypelevelScalafixPlugin extends AutoPlugin { override def trigger = allRequirements - object autoImport {} - - import autoImport._ - override def buildSettings = Seq[Setting[_]]( semanticdbEnabled := true, semanticdbVersion := scalafixSemanticdb.revision, - scalafixScalaBinaryVersion := CrossVersion.binaryScalaVersion(scalaVersion.value), - scalafixDependencies ++= Seq( - "com.github.liancheng" %% "organize-imports" % "0.6.0" - ) + scalafixScalaBinaryVersion := CrossVersion.binaryScalaVersion(scalaVersion.value) ) } From 072baa3dc2ff395b08b75b56671119c5dc1a54bd Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Mon, 30 May 2022 11:39:18 +0000 Subject: [PATCH 04/10] Add scalafix check to ci --- .github/workflows/ci.yml | 4 ++++ .../org/typelevel/sbt/TypelevelCiPlugin.scala | 16 +++++++++++++++- .../typelevel/sbt/TypelevelScalafixPlugin.scala | 3 ++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c00a85ea..b4a013ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,6 +76,10 @@ jobs: - name: Test run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' test + - name: Check scalafix lints + if: matrix.java == 'temurin@8' + run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' 'scalafixAll --check' + - name: Check binary compatibility if: matrix.java == 'temurin@8' run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' mimaReportBinaryIssues diff --git a/ci/src/main/scala/org/typelevel/sbt/TypelevelCiPlugin.scala b/ci/src/main/scala/org/typelevel/sbt/TypelevelCiPlugin.scala index fa9d99f4..39173f37 100644 --- a/ci/src/main/scala/org/typelevel/sbt/TypelevelCiPlugin.scala +++ b/ci/src/main/scala/org/typelevel/sbt/TypelevelCiPlugin.scala @@ -34,6 +34,8 @@ object TypelevelCiPlugin extends AutoPlugin { settingKey[Boolean]("Whether to do header check in CI (default: false)") lazy val tlCiScalafmtCheck = settingKey[Boolean]("Whether to do scalafmt check in CI (default: false)") + lazy val tlCiScalafixCheck = + settingKey[Boolean]("Whether to do scalafix check in CI (default: false)") lazy val tlCiMimaBinaryIssueCheck = settingKey[Boolean]("Whether to do MiMa binary issues check in CI (default: true)") lazy val tlCiDocCheck = @@ -45,6 +47,7 @@ object TypelevelCiPlugin extends AutoPlugin { override def buildSettings = Seq( tlCiHeaderCheck := false, tlCiScalafmtCheck := false, + tlCiScalafixCheck := false, tlCiMimaBinaryIssueCheck := true, tlCiDocCheck := true, githubWorkflowPublishTargetBranches := Seq(), @@ -82,6 +85,17 @@ object TypelevelCiPlugin extends AutoPlugin { WorkflowStep.Sbt(List("test"), name = Some("Test")) ) + val scalafix = + if (tlCiScalafixCheck.value) + List( + WorkflowStep.Sbt( + List("scalafixAll --check"), + name = Some("Check scalafix lints"), + cond = Some(primaryJavaCond.value) + ) + ) + else Nil + val mima = if (tlCiMimaBinaryIssueCheck.value) List( @@ -103,7 +117,7 @@ object TypelevelCiPlugin extends AutoPlugin { ) else Nil - style ++ test ++ mima ++ doc + style ++ test ++ scalafix ++ mima ++ doc }, githubWorkflowJavaVersions := Seq(JavaSpec.temurin("8")) ) diff --git a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala index 3f70f4ec..f2ad6118 100644 --- a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala +++ b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala @@ -29,6 +29,7 @@ object TypelevelScalafixPlugin extends AutoPlugin { override def buildSettings = Seq[Setting[_]]( semanticdbEnabled := true, semanticdbVersion := scalafixSemanticdb.revision, - scalafixScalaBinaryVersion := CrossVersion.binaryScalaVersion(scalaVersion.value) + scalafixScalaBinaryVersion := CrossVersion.binaryScalaVersion(scalaVersion.value), + SettingKey[Boolean]("tlCiScalafixCheck") := true ) } From 68df7328cbfde2d917020d0bb130b9a38d282260 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Mon, 30 May 2022 11:43:26 +0000 Subject: [PATCH 05/10] Set version introduced --- build.sbt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 9c8ba5fe..d1a1d6b5 100644 --- a/build.sbt +++ b/build.sbt @@ -114,7 +114,8 @@ lazy val scalafix = project .in(file("scalafix")) .enablePlugins(SbtPlugin) .settings( - name := "sbt-typelevel-scalafix" + name := "sbt-typelevel-scalafix", + tlVersionIntroduced := Map("2.12" -> "0.4.10") ) .dependsOn(kernel) From 22a34a72cf51adf04d02301a2a12d39b9c5d0b49 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Mon, 30 May 2022 11:44:03 +0000 Subject: [PATCH 06/10] Remove unnecessary dep --- build.sbt | 1 - 1 file changed, 1 deletion(-) diff --git a/build.sbt b/build.sbt index d1a1d6b5..5f851f08 100644 --- a/build.sbt +++ b/build.sbt @@ -117,7 +117,6 @@ lazy val scalafix = project name := "sbt-typelevel-scalafix", tlVersionIntroduced := Map("2.12" -> "0.4.10") ) - .dependsOn(kernel) lazy val ciSigning = project .in(file("ci-signing")) From 9a41bfb789740a9cc72ab6ec786e417eb624f7b4 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Mon, 30 May 2022 11:53:11 +0000 Subject: [PATCH 07/10] Organize imports --- .../org/typelevel/sbt/TypelevelCiSigningPlugin.scala | 6 ++++-- .../scala/org/typelevel/sbt/CrossRootProject.scala | 2 +- .../scala/org/typelevel/sbt/TypelevelCiPlugin.scala | 6 +++--- .../scala/org/typelevel/sbt/TypelevelPlugin.scala | 6 ++++-- .../org/typelevel/sbt/gha/GitHubActionsPlugin.scala | 7 ++++--- .../org/typelevel/sbt/TypelevelGitHubPlugin.scala | 4 +++- .../typelevel/sbt/TypelevelScalaJSGitHubPlugin.scala | 6 ++++-- .../org/typelevel/sbt/TypelevelKernelPlugin.scala | 4 +++- .../scala/org/typelevel/sbt/kernel/GitHelper.scala | 3 +-- .../org/typelevel/sbt/mergify/MergifyPlugin.scala | 4 +++- .../scala/org/typelevel/sbt/TypelevelMimaPlugin.scala | 6 ++++-- .../scala/org/typelevel/sbt/NoPublishPlugin.scala | 4 +++- .../org/typelevel/sbt/TypelevelScalafixPlugin.scala | 4 +++- .../org/typelevel/sbt/TypelevelSettingsPlugin.scala | 11 +++++++---- .../sbt/TypelevelSonatypeCiReleasePlugin.scala | 4 ++-- .../org/typelevel/sbt/TypelevelSonatypePlugin.scala | 7 +++++-- .../org/typelevel/sbt/TypelevelUnidocPlugin.scala | 4 +++- .../org/typelevel/sbt/TypelevelVersioningPlugin.scala | 6 ++++-- 18 files changed, 61 insertions(+), 33 deletions(-) diff --git a/ci-signing/src/main/scala/org/typelevel/sbt/TypelevelCiSigningPlugin.scala b/ci-signing/src/main/scala/org/typelevel/sbt/TypelevelCiSigningPlugin.scala index 869eb1a1..848352f1 100644 --- a/ci-signing/src/main/scala/org/typelevel/sbt/TypelevelCiSigningPlugin.scala +++ b/ci-signing/src/main/scala/org/typelevel/sbt/TypelevelCiSigningPlugin.scala @@ -17,10 +17,12 @@ package org.typelevel.sbt import io.crashbox.gpg.SbtGpg -import sbt._, Keys._ import org.typelevel.sbt.gha.GenerativePlugin -import org.typelevel.sbt.gha.GitHubActionsPlugin import org.typelevel.sbt.gha.GenerativePlugin.autoImport._ +import org.typelevel.sbt.gha.GitHubActionsPlugin +import sbt._ + +import Keys._ object TypelevelCiSigningPlugin extends AutoPlugin { diff --git a/ci/src/main/scala/org/typelevel/sbt/CrossRootProject.scala b/ci/src/main/scala/org/typelevel/sbt/CrossRootProject.scala index 6cc4e678..1fbaed70 100644 --- a/ci/src/main/scala/org/typelevel/sbt/CrossRootProject.scala +++ b/ci/src/main/scala/org/typelevel/sbt/CrossRootProject.scala @@ -16,8 +16,8 @@ package org.typelevel.sbt -import sbt._ import org.typelevel.sbt.gha.GenerativePlugin.autoImport._ +import sbt._ /** * Simultaneously creates a `root`, `rootJVM`, `rootJS`, and `rootNative` project, and diff --git a/ci/src/main/scala/org/typelevel/sbt/TypelevelCiPlugin.scala b/ci/src/main/scala/org/typelevel/sbt/TypelevelCiPlugin.scala index 39173f37..189ae2e3 100644 --- a/ci/src/main/scala/org/typelevel/sbt/TypelevelCiPlugin.scala +++ b/ci/src/main/scala/org/typelevel/sbt/TypelevelCiPlugin.scala @@ -16,11 +16,11 @@ package org.typelevel.sbt -import sbt._ +import com.typesafe.tools.mima.plugin.MimaPlugin import org.typelevel.sbt.gha.GenerativePlugin -import org.typelevel.sbt.gha.GitHubActionsPlugin import org.typelevel.sbt.gha.GenerativePlugin.autoImport._ -import com.typesafe.tools.mima.plugin.MimaPlugin +import org.typelevel.sbt.gha.GitHubActionsPlugin +import sbt._ object TypelevelCiPlugin extends AutoPlugin { diff --git a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala index 8735e648..0185a9b6 100644 --- a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala +++ b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala @@ -16,13 +16,15 @@ package org.typelevel.sbt -import sbt._, Keys._ +import de.heikoseeberger.sbtheader.HeaderPlugin import org.typelevel.sbt.gha.GenerativePlugin import org.typelevel.sbt.gha.GitHubActionsPlugin -import de.heikoseeberger.sbtheader.HeaderPlugin +import sbt._ import scala.collection.immutable +import Keys._ + object TypelevelPlugin extends AutoPlugin { override def requires = diff --git a/github-actions/src/main/scala/org/typelevel/sbt/gha/GitHubActionsPlugin.scala b/github-actions/src/main/scala/org/typelevel/sbt/gha/GitHubActionsPlugin.scala index 20c49d95..8f3d822b 100644 --- a/github-actions/src/main/scala/org/typelevel/sbt/gha/GitHubActionsPlugin.scala +++ b/github-actions/src/main/scala/org/typelevel/sbt/gha/GitHubActionsPlugin.scala @@ -16,13 +16,14 @@ package org.typelevel.sbt.gha -import sbt._, Keys._ -import sbt.io.Using - import org.yaml.snakeyaml.Yaml +import sbt._ +import sbt.io.Using import scala.collection.JavaConverters._ +import Keys._ + object GitHubActionsPlugin extends AutoPlugin { override def requires = plugins.JvmPlugin diff --git a/github/src/main/scala/org/typelevel/sbt/TypelevelGitHubPlugin.scala b/github/src/main/scala/org/typelevel/sbt/TypelevelGitHubPlugin.scala index 49530dc5..96c87d17 100644 --- a/github/src/main/scala/org/typelevel/sbt/TypelevelGitHubPlugin.scala +++ b/github/src/main/scala/org/typelevel/sbt/TypelevelGitHubPlugin.scala @@ -16,10 +16,12 @@ package org.typelevel.sbt -import sbt._, Keys._ +import sbt._ import scala.util.Try +import Keys._ + object TypelevelGitHubPlugin extends AutoPlugin { override def trigger = allRequirements diff --git a/github/src/main/scala/org/typelevel/sbt/TypelevelScalaJSGitHubPlugin.scala b/github/src/main/scala/org/typelevel/sbt/TypelevelScalaJSGitHubPlugin.scala index 6686c6f9..8f53882c 100644 --- a/github/src/main/scala/org/typelevel/sbt/TypelevelScalaJSGitHubPlugin.scala +++ b/github/src/main/scala/org/typelevel/sbt/TypelevelScalaJSGitHubPlugin.scala @@ -16,10 +16,12 @@ package org.typelevel.sbt -import sbt._, Keys._ -import org.scalajs.sbtplugin.ScalaJSPlugin import com.typesafe.sbt.SbtGit.git +import org.scalajs.sbtplugin.ScalaJSPlugin import org.typelevel.sbt.kernel.GitHelper +import sbt._ + +import Keys._ object TypelevelScalaJSGitHubPlugin extends AutoPlugin { override def trigger = allRequirements diff --git a/kernel/src/main/scala/org/typelevel/sbt/TypelevelKernelPlugin.scala b/kernel/src/main/scala/org/typelevel/sbt/TypelevelKernelPlugin.scala index fac057e6..dcec2960 100644 --- a/kernel/src/main/scala/org/typelevel/sbt/TypelevelKernelPlugin.scala +++ b/kernel/src/main/scala/org/typelevel/sbt/TypelevelKernelPlugin.scala @@ -16,9 +16,11 @@ package org.typelevel.sbt -import sbt._, Keys._ +import sbt._ import sbt.plugins.JvmPlugin +import Keys._ + object TypelevelKernelPlugin extends AutoPlugin { override def requires = JvmPlugin diff --git a/kernel/src/main/scala/org/typelevel/sbt/kernel/GitHelper.scala b/kernel/src/main/scala/org/typelevel/sbt/kernel/GitHelper.scala index 638d70d9..1a67605a 100644 --- a/kernel/src/main/scala/org/typelevel/sbt/kernel/GitHelper.scala +++ b/kernel/src/main/scala/org/typelevel/sbt/kernel/GitHelper.scala @@ -16,9 +16,8 @@ package org.typelevel.sbt.kernel -import scala.util.Try - import scala.sys.process._ +import scala.util.Try private[sbt] object GitHelper { diff --git a/mergify/src/main/scala/org/typelevel/sbt/mergify/MergifyPlugin.scala b/mergify/src/main/scala/org/typelevel/sbt/mergify/MergifyPlugin.scala index 91706851..2ea40353 100644 --- a/mergify/src/main/scala/org/typelevel/sbt/mergify/MergifyPlugin.scala +++ b/mergify/src/main/scala/org/typelevel/sbt/mergify/MergifyPlugin.scala @@ -16,11 +16,13 @@ package org.typelevel.sbt.mergify -import sbt._, Keys._ import org.typelevel.sbt.gha._ +import sbt._ import java.nio.file.Path +import Keys._ + object MergifyPlugin extends AutoPlugin { object autoImport { diff --git a/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala b/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala index fa44bf7f..4f173102 100644 --- a/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala +++ b/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala @@ -16,11 +16,13 @@ package org.typelevel.sbt -import sbt._, Keys._ import com.typesafe.tools.mima.plugin.MimaPlugin -import MimaPlugin.autoImport._ import org.typelevel.sbt.kernel.GitHelper import org.typelevel.sbt.kernel.V +import sbt._ + +import Keys._ +import MimaPlugin.autoImport._ object TypelevelMimaPlugin extends AutoPlugin { diff --git a/no-publish/src/main/scala/org/typelevel/sbt/NoPublishPlugin.scala b/no-publish/src/main/scala/org/typelevel/sbt/NoPublishPlugin.scala index e4fb9f31..d5a339e5 100644 --- a/no-publish/src/main/scala/org/typelevel/sbt/NoPublishPlugin.scala +++ b/no-publish/src/main/scala/org/typelevel/sbt/NoPublishPlugin.scala @@ -16,7 +16,9 @@ package org.typelevel.sbt -import sbt._, Keys._ +import sbt._ + +import Keys._ object NoPublishPlugin extends AutoPlugin { override def trigger = noTrigger diff --git a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala index f2ad6118..7c405280 100644 --- a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala +++ b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala @@ -16,8 +16,10 @@ package org.typelevel.sbt -import sbt._, Keys._ +import sbt._ import scalafix.sbt.ScalafixPlugin + +import Keys._ import ScalafixPlugin.autoImport._ object TypelevelScalafixPlugin extends AutoPlugin { diff --git a/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala b/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala index 565a538c..f8bc1fba 100644 --- a/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala +++ b/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala @@ -16,17 +16,20 @@ package org.typelevel.sbt -import sbt._, Keys._ import com.typesafe.sbt.GitPlugin import com.typesafe.sbt.SbtGit.git -import java.io.File -import java.lang.management.ManagementFactory -import org.typelevel.sbt.kernel.V import org.typelevel.sbt.kernel.GitHelper +import org.typelevel.sbt.kernel.V +import sbt._ import sbtcrossproject.CrossPlugin.autoImport._ import sbtcrossproject.CrossType + +import java.io.File +import java.lang.management.ManagementFactory import scala.util.Try +import Keys._ + object TypelevelSettingsPlugin extends AutoPlugin { override def trigger = allRequirements override def requires = TypelevelKernelPlugin && GitPlugin diff --git a/sonatype-ci-release/src/main/scala/org/typelevel/sbt/TypelevelSonatypeCiReleasePlugin.scala b/sonatype-ci-release/src/main/scala/org/typelevel/sbt/TypelevelSonatypeCiReleasePlugin.scala index d1a668d0..36bd941d 100644 --- a/sonatype-ci-release/src/main/scala/org/typelevel/sbt/TypelevelSonatypeCiReleasePlugin.scala +++ b/sonatype-ci-release/src/main/scala/org/typelevel/sbt/TypelevelSonatypeCiReleasePlugin.scala @@ -16,10 +16,10 @@ package org.typelevel.sbt -import sbt._ import org.typelevel.sbt.gha.GenerativePlugin -import org.typelevel.sbt.gha.GitHubActionsPlugin import org.typelevel.sbt.gha.GenerativePlugin.autoImport._ +import org.typelevel.sbt.gha.GitHubActionsPlugin +import sbt._ object TypelevelSonatypeCiReleasePlugin extends AutoPlugin { diff --git a/sonatype/src/main/scala/org/typelevel/sbt/TypelevelSonatypePlugin.scala b/sonatype/src/main/scala/org/typelevel/sbt/TypelevelSonatypePlugin.scala index 2a836551..b53e16ee 100644 --- a/sonatype/src/main/scala/org/typelevel/sbt/TypelevelSonatypePlugin.scala +++ b/sonatype/src/main/scala/org/typelevel/sbt/TypelevelSonatypePlugin.scala @@ -16,9 +16,12 @@ package org.typelevel.sbt -import sbt._, Keys._ import com.typesafe.tools.mima.plugin.MimaPlugin -import xerial.sbt.Sonatype, Sonatype.autoImport._ +import sbt._ +import xerial.sbt.Sonatype + +import Keys._ +import Sonatype.autoImport._ import TypelevelKernelPlugin.mkCommand object TypelevelSonatypePlugin extends AutoPlugin { diff --git a/sonatype/src/main/scala/org/typelevel/sbt/TypelevelUnidocPlugin.scala b/sonatype/src/main/scala/org/typelevel/sbt/TypelevelUnidocPlugin.scala index ec738b83..e421e250 100644 --- a/sonatype/src/main/scala/org/typelevel/sbt/TypelevelUnidocPlugin.scala +++ b/sonatype/src/main/scala/org/typelevel/sbt/TypelevelUnidocPlugin.scala @@ -16,10 +16,12 @@ package org.typelevel.sbt -import sbt._, Keys._ import com.typesafe.tools.mima.plugin.MimaPlugin.autoImport._ +import sbt._ import sbtunidoc.ScalaUnidocPlugin +import Keys._ + object TypelevelUnidocPlugin extends AutoPlugin { override def requires = ScalaUnidocPlugin diff --git a/versioning/src/main/scala/org/typelevel/sbt/TypelevelVersioningPlugin.scala b/versioning/src/main/scala/org/typelevel/sbt/TypelevelVersioningPlugin.scala index 6aca3258..08c606a2 100644 --- a/versioning/src/main/scala/org/typelevel/sbt/TypelevelVersioningPlugin.scala +++ b/versioning/src/main/scala/org/typelevel/sbt/TypelevelVersioningPlugin.scala @@ -16,13 +16,15 @@ package org.typelevel.sbt -import sbt._, Keys._ import com.typesafe.sbt.GitPlugin import com.typesafe.sbt.SbtGit.git +import org.typelevel.sbt.kernel.GitHelper import org.typelevel.sbt.kernel.V +import sbt._ import scala.util.Try -import org.typelevel.sbt.kernel.GitHelper + +import Keys._ object TypelevelVersioningPlugin extends AutoPlugin { From 96ffd36c1249c360c58731f9c5d65d6d6450d361 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Wed, 1 Jun 2022 04:37:11 +0000 Subject: [PATCH 08/10] Use scalaBinaryVersion setting --- .../main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala index 7c405280..55c10150 100644 --- a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala +++ b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala @@ -31,7 +31,7 @@ object TypelevelScalafixPlugin extends AutoPlugin { override def buildSettings = Seq[Setting[_]]( semanticdbEnabled := true, semanticdbVersion := scalafixSemanticdb.revision, - scalafixScalaBinaryVersion := CrossVersion.binaryScalaVersion(scalaVersion.value), + scalafixScalaBinaryVersion := scalaBinaryVersion.value, SettingKey[Boolean]("tlCiScalafixCheck") := true ) } From 05ea48926ca819c1a3de8a2e6a6131e43dd9359d Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Wed, 1 Jun 2022 06:54:09 -0700 Subject: [PATCH 09/10] Don't set `scalafixScalaBinaryVersion` --- .../main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala index 55c10150..158e1738 100644 --- a/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala +++ b/scalafix/src/main/scala/org/typelevel/sbt/TypelevelScalafixPlugin.scala @@ -31,7 +31,6 @@ object TypelevelScalafixPlugin extends AutoPlugin { override def buildSettings = Seq[Setting[_]]( semanticdbEnabled := true, semanticdbVersion := scalafixSemanticdb.revision, - scalafixScalaBinaryVersion := scalaBinaryVersion.value, SettingKey[Boolean]("tlCiScalafixCheck") := true ) } From df10d9867c05853e229bd740d045d79e23af5847 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Wed, 1 Jun 2022 14:12:14 +0000 Subject: [PATCH 10/10] Alphabetization --- project/build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/build.sbt b/project/build.sbt index 86899e11..0e42c079 100644 --- a/project/build.sbt +++ b/project/build.sbt @@ -9,11 +9,11 @@ val modules = List( "mergify", "mima", "no-publish", + "scalafix", "settings", "site", "sonatype", "sonatype-ci-release", - "scalafix", "versioning" )