Skip to content

Commit

Permalink
Add a deprecation warning for using Scala 2.12.4 with Bloop
Browse files Browse the repository at this point in the history
  • Loading branch information
Gedochao committed Jan 30, 2025
1 parent 3ba09c2 commit ec06e1a
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions modules/build/src/main/scala/scala/build/Build.scala
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,9 @@ import scala.build.EitherCps.{either, value}
import scala.build.Ops.*
import scala.build.compiler.{ScalaCompiler, ScalaCompilerMaker}
import scala.build.errors.*
import scala.build.input.VirtualScript.VirtualScriptNameRegex
import scala.build.input.*
import scala.build.internal.resource.ResourceMapper
import scala.build.internal.{Constants, MainClass, Name, Util}
import scala.build.options.ScalaVersionUtil.asVersion
import scala.build.options.*
import scala.build.options.validation.ValidationException
import scala.build.postprocessing.LineConversion.scalaLineToScLineShift
Expand Down Expand Up @@ -598,9 +596,19 @@ object Build {
logger,
keepDiagnostics = options.internal.keepDiagnostics
)
val classesDir0 = classesRootDir(inputs.workspace, inputs.projectName)
val (crossSources, inputs0) = value(allInputs(inputs, options, logger))
val buildOptions = crossSources.sharedOptions(options)
val classesDir0 = classesRootDir(inputs.workspace, inputs.projectName)
val (crossSources: CrossSources, inputs0) = value(allInputs(inputs, options, logger))
val buildOptions = crossSources.sharedOptions(options)
if !buildOptions.suppressWarningOptions.suppressDeprecatedFeatureWarning.getOrElse(false) &&
buildOptions.scalaParams.exists(_.exists(_.scalaVersion == "2.12.4") &&
!buildOptions.useBuildServer.contains(false))
then
logger.message(
s"""[${Console.YELLOW}warn${Console.RESET}] Scala 2.12.4 has been deprecated for use with Bloop.
|[${Console.YELLOW}warn${Console.RESET}] It may lead to infinite compilation.
|[${Console.YELLOW}warn${Console.RESET}] To disable the build server, pass ${Console.BOLD}--server=false${Console.RESET}.
|[${Console.YELLOW}warn${Console.RESET}] Refer to https://github.com/VirtusLab/scala-cli/issues/1382 and https://github.com/sbt/zinc/issues/1010""".stripMargin
)
value {
compilerMaker.withCompiler(
inputs0.workspace / Constants.workspaceDirName,
Expand Down

0 comments on commit ec06e1a

Please sign in to comment.