diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aa43033aa9..668312a684 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,7 @@ jobs: steps: - uses: actions/checkout@v3 - uses: coursier/setup-action@v1 - - run: sbt "scalafixAll --check" + - run: sbt "dogfoodScalafixAllCheck" - run: ./bin/scalafmt --test mima: name: Version Policy diff --git a/build.sbt b/build.sbt index 58fac32623..1e91fa8e77 100644 --- a/build.sbt +++ b/build.sbt @@ -7,7 +7,7 @@ inThisBuild( onLoadMessage := s"Welcome to scalafix ${version.value}", semanticdbEnabled := true, semanticdbVersion := scalametaV, - scalafixScalaBinaryVersion := "2.13", + scalafixScalaBinaryVersion := "2.13" ) ) diff --git a/project/ScalafixBuild.scala b/project/ScalafixBuild.scala index 3cda405006..0d708c1dce 100644 --- a/project/ScalafixBuild.scala +++ b/project/ScalafixBuild.scala @@ -171,6 +171,24 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys { "interfaces/doc" :: s }, + commands += Command.command("dogfoodScalafixAllCheck") { state => + val extracted = Project.extract(state) + val v = (ThisBuild / version).get(extracted.structure.data).get + + val suffix = + (ThisBuild / scalafixScalaBinaryVersion) + .get(extracted.structure.data) + .get + .replace('.', '_') + + s"all cli$suffix/publishLocalTransitive interfaces/publishLocal" :: + "reload plugins" :: + s"""set dependencyOverrides += "ch.epfl.scala" % "scalafix-interfaces" % "$v"""" :: // as documented in installation.md + "session save" :: + "reload return" :: + "scalafixAll --check" :: + state + }, Test / publishArtifact := false, licenses := Seq( "Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0") @@ -192,7 +210,7 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys { Some("^\\d+\\.\\d+\\.\\d+\\+\\d+".r), versionScheme := Some("early-semver"), // coursier-versions always return false for the *.*.*.*-r pattern jgit uses - libraryDependencySchemes += Dependencies.jgit.withRevision("always"), + libraryDependencySchemes += Dependencies.jgit.withRevision("always") ) override def projectSettings: Seq[Def.Setting[_]] = List(