From 3ee75fb6d781931d12a066bd2ea061354a0b50e3 Mon Sep 17 00:00:00 2001 From: Liu Fengyun Date: Fri, 12 Feb 2021 19:50:50 +0100 Subject: [PATCH] Disable -Ycheck-init for cats due to -Xfatal-warnings cats enables -Xfatal-warnings and we don't want to change the library to create conflicts with upstream. --- .../src/scala/dotty/communitybuild/projects.scala | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/community-build/src/scala/dotty/communitybuild/projects.scala b/community-build/src/scala/dotty/communitybuild/projects.scala index aff964459134..8d588b468851 100644 --- a/community-build/src/scala/dotty/communitybuild/projects.scala +++ b/community-build/src/scala/dotty/communitybuild/projects.scala @@ -110,7 +110,8 @@ final case class SbtCommunityProject( extraSbtArgs: List[String] = Nil, dependencies: List[CommunityProject] = Nil, sbtPublishCommand: String = null, - sbtDocCommand: String = null + sbtDocCommand: String = null, + scalacOptions: List[String] = List("-Ycheck-init") ) extends CommunityProject: override val binaryName: String = "sbt" @@ -159,10 +160,13 @@ final case class SbtCommunityProject( s""""dev.zio" %% "izumi-reflect" % "${Versions.izumiReflect}"""", ) + private def scalacOptionsString: String = + scalacOptions.map("\"" + _ + "\"").mkString("List(", ",", ")") + private val baseCommand = "clean; set logLevel in Global := Level.Error; set updateOptions in Global ~= (_.withLatestSnapshots(false)); " ++ s"""set dependencyOverrides in ThisBuild ++= ${dependencyOverrides.mkString("Seq(", ", ", ")")}; """ - ++ """set scalacOptions in Global += "-Ycheck-init";""" + ++ (if scalacOptions.isEmpty then "" else s"""set scalacOptions in Global ++= $scalacOptionsString;""") ++ s"++$compilerVersion!; " override val testCommand = @@ -532,7 +536,8 @@ object projects: project = "discipline-specs2", sbtTestCommand = "test", sbtPublishCommand = "coreJVM/publishLocal;coreJS/publishLocal", - dependencies = List(discipline) + dependencies = List(discipline), + scalacOptions = Nil // disabble -Ycheck-init ) lazy val simulacrumScalafixAnnotations = SbtCommunityProject( @@ -545,7 +550,8 @@ object projects: project = "cats", sbtTestCommand = "set scalaJSStage in Global := FastOptStage;buildJVM;validateAllJS", sbtPublishCommand = "catsJVM/publishLocal;catsJS/publishLocal", - dependencies = List(discipline, disciplineMunit, scalacheck, simulacrumScalafixAnnotations) + dependencies = List(discipline, disciplineMunit, scalacheck, simulacrumScalafixAnnotations), + scalacOptions = Nil // disable -Ycheck-init, due to -Xfatal-warning ) lazy val catsMtl = SbtCommunityProject(