@@ -140,7 +140,7 @@ lazy val xml = crossProject(JSPlatform, JVMPlatform, NativePlatform)
140
140
)
141
141
.jsEnablePlugins(ScalaJSJUnitPlugin )
142
142
.nativeSettings(
143
- crossScalaVersions := Seq (" 2.13.8" , " 2.12.15" , " 3.1.0 " ),
143
+ crossScalaVersions := Seq (" 2.13.8" , " 2.12.15" , " 3.1.1 " ),
144
144
mimaPreviousArtifacts := {
145
145
// TODO remove this setting whien 2.0.2 released
146
146
if (scalaBinaryVersion.value == " 3" ) {
@@ -151,55 +151,39 @@ lazy val xml = crossProject(JSPlatform, JVMPlatform, NativePlatform)
151
151
},
152
152
// Scala Native cannot run forked tests
153
153
Test / fork := false ,
154
- Seq (Compile , Test ).map { s =>
155
- s / sources := {
156
- CrossVersion .partialVersion(scalaVersion.value) match {
157
- case Some ((3 , 0 )) =>
158
- Nil
159
- case _ =>
160
- (s / sources).value
161
- }
162
- }
163
- },
164
- libraryDependencies := {
165
- CrossVersion .partialVersion(scalaVersion.value) match {
166
- case Some ((3 , 0 )) =>
167
- // scala-native does not support Scala 3.0.x
168
- Nil
169
- case _ =>
170
- libraryDependencies.value ++ Seq (" org.scala-native" %%% " junit-runtime" % nativeVersion % Test )
171
- }
172
- },
173
- Compile / doc / scalacOptions --= {
174
- // TODO remove this workaround
175
- // https://github.com/scala-native/scala-native/issues/2503
176
- if (scalaBinaryVersion.value == " 3" ) {
177
- (Compile / doc / scalacOptions).value.filter(_.contains(" -Xplugin" ))
178
- } else {
179
- Nil
180
- }
181
- },
182
- publish / skip := CrossVersion .partialVersion(scalaVersion.value) == Some ((3 , 0 )),
183
- Test / scalacOptions ++= {
184
- if (CrossVersion .partialVersion(scalaVersion.value) != Some ((3 , 0 ))) {
185
- val log = streams.value.log
186
- val retrieveDir = baseDirectory.value / " scala-native-junit-plugin-jars"
187
- val lm = dependencyResolution.value
188
- val cp = lm
189
- .retrieve(
190
- " org.scala-native" % s " junit-plugin_ ${scalaVersion.value}" % nativeVersion,
191
- scalaModuleInfo = None ,
192
- retrieveDir,
193
- log
194
- )
195
- .fold(w => throw w.resolveException, identity(_))
196
- val jarPath = cp
197
- .find(_.toString.contains(" junit-plugin" ))
198
- .getOrElse(throw new Exception (" Can't find Scala Native junit-plugin jar" ))
199
- Seq (s " -Xplugin: $jarPath" )
200
- } else {
201
- Nil
202
- }
154
+ libraryDependencies += " org.scala-native" %%% " junit-runtime" % nativeVersion % Test ,
155
+ Test / scalacOptions += {
156
+ val log = streams.value.log
157
+ val retrieveDir = baseDirectory.value / " scala-native-junit-plugin-jars"
158
+ val lm = dependencyResolution.value
159
+ val cp = lm
160
+ .retrieve(
161
+ " org.scala-native" % s " junit-plugin_ ${scalaVersion.value}" % nativeVersion,
162
+ scalaModuleInfo = None ,
163
+ retrieveDir,
164
+ log
165
+ )
166
+ .fold(w => throw w.resolveException, identity(_))
167
+ val jarPath = cp
168
+ .find(_.toString.contains(" junit-plugin" ))
169
+ .getOrElse(throw new Exception (" Can't find Scala Native junit-plugin jar" ))
170
+ s " -Xplugin: $jarPath"
203
171
},
204
- Test / testOptions += Tests .Argument (TestFrameworks .JUnit , " -a" , " -s" , " -v" )
172
+ Test / testOptions += Tests .Argument (TestFrameworks .JUnit , " -a" , " -s" , " -v" ),
173
+ // Scala Native doesn't support Scala 3.0
174
+ Compile / nativeLink := { if (isScala30(scalaVersion.value)) null else (Compile / nativeLink).value },
175
+ Test / nativeLink := { if (isScala30(scalaVersion.value)) null else (Test / nativeLink).value },
176
+ Test / test := { if (isScala30(scalaVersion.value)) {} else (Test / test).value },
177
+ Compile / sources := { if (isScala30(scalaVersion.value)) Nil else (Compile / sources).value },
178
+ Test / sources := { if (isScala30(scalaVersion.value)) Nil else (Test / sources).value },
179
+ libraryDependencies := { if (isScala30(scalaVersion.value)) Nil else libraryDependencies.value },
180
+ Test / scalacOptions := { if (isScala30(scalaVersion.value)) Nil else (Test / scalacOptions).value },
181
+ publish / skip := { isScala30(scalaVersion.value) },
205
182
)
183
+
184
+ def isScala30 (scalaVersion : String ) = {
185
+ CrossVersion .partialVersion(scalaVersion) match {
186
+ case Some ((3 , 0 )) => true
187
+ case _ => false
188
+ }
189
+ }
0 commit comments