@@ -335,10 +335,18 @@ case class Args(
335
335
}
336
336
}
337
337
338
- def configureScalaVersion (
338
+ def sourceScalaVersion : Option [ScalaVersion ] =
339
+ extractLastScalacOption(" -Xsource:" ).flatMap(ScalaVersion .from(_).toOption)
340
+
341
+ def configureScalaVersions (
339
342
conf : ScalafixConfig
340
343
): Configured [ScalafixConfig ] = {
341
- Configured .Ok (conf.copy(scalaVersion = scalaVersion))
344
+ Configured .ok(
345
+ conf.copy(
346
+ scalaVersion = scalaVersion,
347
+ sourceScalaVersion = sourceScalaVersion
348
+ )
349
+ )
342
350
}
343
351
344
352
def configuredSourceroot : Configured [AbsolutePath ] = {
@@ -369,16 +377,19 @@ case class Args(
369
377
def classLoader : ClassLoader =
370
378
ClasspathOps .toOrphanClassLoader(validatedClasspath)
371
379
380
+ private def extractLastScalacOption (flag : String ) = {
381
+ scalacOptions
382
+ .filter(_.startsWith(flag))
383
+ .lastOption
384
+ .map(_.stripPrefix(flag))
385
+ }
386
+
372
387
private def semanticdbOption (
373
388
settingInScala2 : String ,
374
389
settingInScala3Opt : Option [String ]
375
390
): Option [String ] = {
376
391
if (scalaVersion.isScala2) {
377
- val flag = s " -P:semanticdb: $settingInScala2: "
378
- scalacOptions
379
- .filter(_.startsWith(flag))
380
- .lastOption
381
- .map(_.stripPrefix(flag))
392
+ extractLastScalacOption(s " -P:semanticdb: $settingInScala2: " )
382
393
} else {
383
394
settingInScala3Opt.flatMap { settingInScala3 =>
384
395
scalacOptions
@@ -409,7 +420,7 @@ case class Args(
409
420
configuredRules(base, scalafixConfig) |@|
410
421
resolvedPathReplace |@|
411
422
configuredDiffDisable |@|
412
- configureScalaVersion (scalafixConfig)
423
+ configureScalaVersions (scalafixConfig)
413
424
).map {
414
425
case (
415
426
((((root, symtab), rulez), pathReplace), diffDisable),
0 commit comments