From aa5363693ed33ea380d189098071962feecaa0a9 Mon Sep 17 00:00:00 2001 From: Darren Gibson Date: Sat, 3 Aug 2024 08:52:08 -0500 Subject: [PATCH 1/4] Improved prePR --- .../scala/org/typelevel/sbt/TypelevelPlugin.scala | 14 ++++++++++---- .../org/typelevel/sbt/TypelevelKernelPlugin.scala | 9 +++++++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala index 72f5421b..10a6426e 100644 --- a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala +++ b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala @@ -76,24 +76,30 @@ object TypelevelPlugin extends AutoPlugin { java <- githubWorkflowJavaVersions.value.tail // default java is head } yield MatrixExclude(Map("scala" -> scala, "java" -> java.render)) }, - GlobalScope / tlCommandAliases ++= { + GlobalScope / tlPrePRSteps ++= { val header = tlCiHeaderCheck.value val scalafmt = tlCiScalafmtCheck.value val javafmt = tlCiJavafmtCheck.value val scalafix = tlCiScalafixCheck.value - val prePR = List("project /", "githubWorkflowGenerate") ++ + List("project /", "githubWorkflowGenerate") ++ List("+headerCreateAll").filter(_ => header) ++ List("+scalafixAll").filter(_ => scalafix) ++ List("+scalafmtAll", "scalafmtSbt").filter(_ => scalafmt) ++ - List("javafmtAll").filter(_ => javafmt) + List("javafmtAll").filter(_ => javafmt) ++ + List("compile", "test") + }, + GlobalScope / tlCommandAliases ++= { + val header = tlCiHeaderCheck.value + val scalafmt = tlCiScalafmtCheck.value + val javafmt = tlCiJavafmtCheck.value val botHook = List("githubWorkflowGenerate") ++ List("+headerCreateAll").filter(_ => header) ++ + List("javafmtAll").filter(_ => javafmt) ++ List("+scalafmtAll", "scalafmtSbt").filter(_ => scalafmt) Map( - "prePR" -> prePR, "tlPrePrBotHook" -> botHook ) } diff --git a/kernel/src/main/scala/org/typelevel/sbt/TypelevelKernelPlugin.scala b/kernel/src/main/scala/org/typelevel/sbt/TypelevelKernelPlugin.scala index 5f55abe2..02a4235e 100644 --- a/kernel/src/main/scala/org/typelevel/sbt/TypelevelKernelPlugin.scala +++ b/kernel/src/main/scala/org/typelevel/sbt/TypelevelKernelPlugin.scala @@ -45,6 +45,9 @@ object TypelevelKernelPlugin extends AutoPlugin { "Command aliases defined for this build" ) + lazy val tlPrePRSteps = + settingKey[List[String]]("Steps to be performed before a user submits a PR") + @deprecated( "Use `tlCommandAliases` for a more composable command definition experience", "0.6.1") @@ -62,7 +65,8 @@ object TypelevelKernelPlugin extends AutoPlugin { override def globalSettings = Seq( Def.derive(tlIsScala3 := scalaVersion.value.startsWith("3.")), tlCommandAliases := Map( - "tlReleaseLocal" -> List("reload", "project /", "+publishLocal") + "tlReleaseLocal" -> List("reload", "project /", "+publishLocal"), + "prePR" -> ("reload" :: "project /" :: tlPrePRSteps.value) ), onLoad := { val aliases = tlCommandAliases.value @@ -78,7 +82,8 @@ object TypelevelKernelPlugin extends AutoPlugin { onUnload.value.compose { (state: State) => aliases.foldLeft(state) { (state, alias) => BasicCommands.removeAlias(state, alias) } } - } + }, + tlPrePRSteps := List.empty ) @nowarn("cat=deprecation") From 50ed58d7db5969c99ee5c3238c2daef372cee182 Mon Sep 17 00:00:00 2001 From: Darren Gibson Date: Sat, 3 Aug 2024 09:10:48 -0500 Subject: [PATCH 2/4] Add mima --- core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala index 10a6426e..84bddd79 100644 --- a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala +++ b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala @@ -81,13 +81,15 @@ object TypelevelPlugin extends AutoPlugin { val scalafmt = tlCiScalafmtCheck.value val javafmt = tlCiJavafmtCheck.value val scalafix = tlCiScalafixCheck.value + val mima = tlCiMimaBinaryIssueCheck.value - List("project /", "githubWorkflowGenerate") ++ + List("githubWorkflowGenerate") ++ List("+headerCreateAll").filter(_ => header) ++ List("+scalafixAll").filter(_ => scalafix) ++ List("+scalafmtAll", "scalafmtSbt").filter(_ => scalafmt) ++ List("javafmtAll").filter(_ => javafmt) ++ - List("compile", "test") + List("compile", "test") ++ + List("mimaReportBinaryIssues").filter(_ => mima) }, GlobalScope / tlCommandAliases ++= { val header = tlCiHeaderCheck.value From 665041a3d706562d6dda9e1a5f7bba02e1a4a8eb Mon Sep 17 00:00:00 2001 From: Darren Gibson Date: Tue, 6 Aug 2024 14:42:21 -0500 Subject: [PATCH 3/4] Changed prePR defaults back to original --- core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala index 84bddd79..bf4f1a9d 100644 --- a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala +++ b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala @@ -87,9 +87,7 @@ object TypelevelPlugin extends AutoPlugin { List("+headerCreateAll").filter(_ => header) ++ List("+scalafixAll").filter(_ => scalafix) ++ List("+scalafmtAll", "scalafmtSbt").filter(_ => scalafmt) ++ - List("javafmtAll").filter(_ => javafmt) ++ - List("compile", "test") ++ - List("mimaReportBinaryIssues").filter(_ => mima) + List("javafmtAll").filter(_ => javafmt) }, GlobalScope / tlCommandAliases ++= { val header = tlCiHeaderCheck.value From 218215878cd62194f53042b55d4351c5e632d5b8 Mon Sep 17 00:00:00 2001 From: Darren Gibson Date: Fri, 9 Aug 2024 12:07:23 -0500 Subject: [PATCH 4/4] remove unused val --- core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala index bf4f1a9d..34c2761b 100644 --- a/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala +++ b/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala @@ -81,7 +81,6 @@ object TypelevelPlugin extends AutoPlugin { val scalafmt = tlCiScalafmtCheck.value val javafmt = tlCiJavafmtCheck.value val scalafix = tlCiScalafixCheck.value - val mima = tlCiMimaBinaryIssueCheck.value List("githubWorkflowGenerate") ++ List("+headerCreateAll").filter(_ => header) ++