@@ -62,10 +62,20 @@ scalaVersion := mainScalaVersion
6262resolvers +=
6363 " Sonatype OSS Snapshots" at " https://oss.sonatype.org/content/repositories/snapshots"
6464
65- ThisBuild / scalacOptions ++= Seq (
66- " -Wunused:imports" ,
67- " -preview" // enabling for-comprehension improvements for scala 3.7.1 (in >3.8 no need for this flag anymore)
68- )
65+ lazy val commonScalacOptions = Def .setting{
66+ CrossVersion .partialVersion(scalaVersion.value) match {
67+ case Some ((2 , n)) => List (
68+ " -Xsource:3.7-migration" ,
69+ " -Ymacro-annotations" ,
70+ " -Wunused:imports"
71+ )
72+ case Some ((3 , n)) => List (
73+ " -Wunused:imports" ,
74+ " -preview" // enabling for-comprehension improvements for scala 3.7.1 (in >3.8 no need for this flag anymore)
75+ )
76+ case _ => List ()
77+ }
78+ }
6979
7080lazy val root = project
7181 .in(file(" ." ))
@@ -81,6 +91,7 @@ lazy val raft = project
8191 name := " zio-raft" ,
8292 scalaVersion := mainScalaVersion,
8393 testFrameworks += new TestFramework (" zio.test.sbt.ZTestFramework" ),
94+ scalacOptions ++= commonScalacOptions.value,
8495 libraryDependencies ++= Seq (
8596 " dev.zio" %% " zio" % zio2Version,
8697 " dev.zio" %% " zio-test" % zio2Version % Test ,
@@ -97,6 +108,7 @@ lazy val kvstore = project
97108 name := " kvstore" ,
98109 publish / skip := true ,
99110 scalaVersion := mainScalaVersion,
111+ scalacOptions ++= commonScalacOptions.value,
100112 libraryDependencies ++= Seq (
101113 " dev.zio" %% " zio" % zio2Version,
102114 " dev.zio" %% " zio-prelude" % zioPreludeVersion,
@@ -111,6 +123,7 @@ lazy val raftZmq = project
111123 .settings(
112124 name := " zio-raft-zmq" ,
113125 scalaVersion := mainScalaVersion,
126+ scalacOptions ++= commonScalacOptions.value,
114127 libraryDependencies ++= Seq (
115128 " dev.zio" %% " zio-test" % zio2Version % Test ,
116129 " dev.zio" %% " zio-test-sbt" % zio2Version % Test ,
@@ -126,6 +139,7 @@ lazy val zio1zmq = project
126139 .settings(
127140 name := " zio1-zmq" ,
128141 crossScalaVersions := supportedScalaVersions,
142+ scalacOptions ++= commonScalacOptions.value,
129143 libraryDependencies ++= Seq (
130144 " dev.zio" %% " zio" % zio1Version,
131145 " dev.zio" %% " zio-prelude" % " 1.0.0-RC5" , // latest version for zio 1.0.18
@@ -137,13 +151,6 @@ lazy val zio1zmq = project
137151 case Some ((3 , n)) => Seq ()
138152 case _ => Seq ()
139153 }
140- },
141- scalacOptions ++= {
142- CrossVersion .partialVersion(scalaVersion.value) match {
143- case Some ((2 , n)) => List (" -Xsource:3" , " -Ymacro-annotations" , " -Wunused:imports" )
144- case Some ((3 , n)) => List (" -Wunused:imports" )
145- case _ => List ()
146- }
147154 }
148155 )
149156
@@ -153,6 +160,7 @@ lazy val zio2zmq = project
153160 name := " zio2-zmq" ,
154161 scalaVersion := mainScalaVersion,
155162 crossScalaVersions := supportedScalaVersions,
163+ scalacOptions ++= commonScalacOptions.value,
156164 libraryDependencies ++= Seq (
157165 " dev.zio" %% " zio" % zio2Version,
158166 " dev.zio" %% " zio-prelude" % zioPreludeVersion,
@@ -164,13 +172,6 @@ lazy val zio2zmq = project
164172 case Some ((3 , n)) => Seq ()
165173 case _ => Seq ()
166174 }
167- },
168- scalacOptions ++= {
169- CrossVersion .partialVersion(scalaVersion.value) match {
170- case Some ((2 , n)) => List (" -Xsource:3" , " -Ymacro-annotations" , " -Wunused:imports" )
171- case Some ((3 , n)) => List (" -Wunused:imports" )
172- case _ => List ()
173- }
174175 }
175176 )
176177
@@ -179,6 +180,7 @@ lazy val ziolmdb = project
179180 .settings(
180181 name := " zio-lmdb" ,
181182 scalaVersion := mainScalaVersion,
183+ scalacOptions ++= commonScalacOptions.value,
182184 libraryDependencies ++= Seq (
183185 " dev.zio" %% " zio" % zio2Version,
184186 " dev.zio" %% " zio-nio" % " 2.0.0" ,
@@ -194,6 +196,7 @@ lazy val stores = project
194196 .settings(
195197 name := " zio-raft-stores" ,
196198 scalaVersion := mainScalaVersion,
199+ scalacOptions ++= commonScalacOptions.value,
197200 libraryDependencies ++= Seq (
198201 " dev.zio" %% " zio-test" % zio2Version % Test ,
199202 " dev.zio" %% " zio-test-sbt" % zio2Version % Test ,
0 commit comments