diff --git a/.scalafmt.conf b/.scalafmt.conf index 839c8a293..39a270483 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -23,3 +23,6 @@ align.openParenDefnSite = false danglingParentheses.preset = true trailingCommas = preserve + +rewrite.scala3.convertToNewSyntax = true +rewrite.scala3.newSyntax.control = false diff --git a/build.sbt b/build.sbt index 89e735cc3..d6b9eb62d 100644 --- a/build.sbt +++ b/build.sbt @@ -48,13 +48,13 @@ ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" Global / semanticdbEnabled := !(Global / insideCI).value // Change main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala too, if you change this. Global / semanticdbVersion := "4.9.9" -val excludeLint = SettingKey[Set[Def.KeyedInitialize[_]]]("excludeLintKeys") +val excludeLint = SettingKey[Set[Def.KeyedInitialize[?]]]("excludeLintKeys") Global / excludeLint := (Global / excludeLint).?.value.getOrElse(Set.empty) Global / excludeLint += Utils.componentID Global / excludeLint += scriptedBufferLog Global / excludeLint += checkPluginCross -def commonSettings: Seq[Setting[_]] = Def.settings( +def commonSettings: Seq[Setting[?]] = Def.settings( headerLicense := Some( HeaderLicense.Custom( """|sbt @@ -104,17 +104,17 @@ def commonSettings: Seq[Setting[_]] = Def.settings( run / fork := true, ) -def utilCommonSettings: Seq[Setting[_]] = Def.settings( +def utilCommonSettings: Seq[Setting[?]] = Def.settings( baseSettings, ) -def minimalSettings: Seq[Setting[_]] = +def minimalSettings: Seq[Setting[?]] = commonSettings ++ customCommands ++ Utils.publishPomSettings -def baseSettings: Seq[Setting[_]] = +def baseSettings: Seq[Setting[?]] = minimalSettings ++ Seq(Utils.projectComponent) ++ Utils.baseScalacOptions ++ Licensed.settings -def testedBaseSettings: Seq[Setting[_]] = +def testedBaseSettings: Seq[Setting[?]] = baseSettings ++ testDependencies val sbt13Plus = @@ -152,7 +152,7 @@ val noUtilVersion = val mimaSettings = mimaSettingsSince(sbt10Plus) val utilMimaSettings = mimaSettingsSince(sbt10Plus.filterNot(noUtilVersion)) -def mimaSettingsSince(versions: Seq[String]): Seq[Def.Setting[_]] = Def settings ( +def mimaSettingsSince(versions: Seq[String]): Seq[Def.Setting[?]] = Def settings ( mimaPreviousArtifacts := { val crossVersion = if (crossPaths.value) CrossVersion.binary else CrossVersion.disabled versions.map(v => organization.value % moduleName.value % v cross crossVersion).toSet @@ -1293,7 +1293,7 @@ lazy val docProjects: ScopeFilter = ScopeFilter( lazy val javafmtOnCompile = taskKey[Unit]("Formats java sources before compile") lazy val scriptedProjects = ScopeFilter(inAnyProject) -def customCommands: Seq[Setting[_]] = Seq( +def customCommands: Seq[Setting[?]] = Seq( commands += Command.command("publishLocalAllModule") { state => val extracted = Project.extract(state) import extracted._ @@ -1344,7 +1344,7 @@ ThisBuild / publishTo := { } ThisBuild / publishMavenStyle := true -def lmTestSettings: Seq[Setting[_]] = Def.settings( +def lmTestSettings: Seq[Setting[?]] = Def.settings( Test / classLoaderLayeringStrategy := ClassLoaderLayeringStrategy.Flat, Test / parallelExecution := false ) @@ -1422,7 +1422,7 @@ lazy val lmIvy = (project in file("lm-ivy")) Test / classLoaderLayeringStrategy := ClassLoaderLayeringStrategy.Flat ) -lazy val lmCoursierSettings: Seq[Setting[_]] = Def.settings( +lazy val lmCoursierSettings: Seq[Setting[?]] = Def.settings( baseSettings, headerLicense := Some( HeaderLicense.Custom( diff --git a/buildfile/src/main/scala/sbt/internal/DslEntry.scala b/buildfile/src/main/scala/sbt/internal/DslEntry.scala index 9292c2ea2..77852d72d 100644 --- a/buildfile/src/main/scala/sbt/internal/DslEntry.scala +++ b/buildfile/src/main/scala/sbt/internal/DslEntry.scala @@ -13,7 +13,7 @@ import sbt.internal.util.RangePosition import sbt.librarymanagement.Configuration -import Def._ +import Def.* /** This represents a `Setting` expression configured by the sbt DSL. */ sealed trait DslEntry { diff --git a/buildfile/src/main/scala/sbt/internal/Eval.scala b/buildfile/src/main/scala/sbt/internal/Eval.scala index 5f73547e8..226ffe54a 100644 --- a/buildfile/src/main/scala/sbt/internal/Eval.scala +++ b/buildfile/src/main/scala/sbt/internal/Eval.scala @@ -299,7 +299,7 @@ object Eval: inline def apply[A](expression: String): A = ${ evalImpl[A]('{ expression }) } private def thisClassLoader = this.getClass.getClassLoader def evalImpl[A: Type](expression: Expr[String])(using qctx: Quotes): Expr[A] = - import quotes.reflect._ + import quotes.reflect.* val sym = TypeRepr.of[A].typeSymbol val fullName = Expr(sym.fullName) '{ diff --git a/buildfile/src/main/scala/sbt/internal/parser/SbtParser.scala b/buildfile/src/main/scala/sbt/internal/parser/SbtParser.scala index 322c4a391..33726ca3a 100644 --- a/buildfile/src/main/scala/sbt/internal/parser/SbtParser.scala +++ b/buildfile/src/main/scala/sbt/internal/parser/SbtParser.scala @@ -14,7 +14,7 @@ import sbt.internal.io.Retry import java.io.File import java.nio.charset.StandardCharsets import java.util.concurrent.ConcurrentHashMap -import sbt.internal.parser.SbtParser._ +import sbt.internal.parser.SbtParser.* import dotty.tools.dotc.ast.Trees.Lazy import dotty.tools.dotc.ast.untpd.* import dotty.tools.dotc.core.Contexts.* diff --git a/core-macros/src/test/scala/sbt/internal/ConvertTest.scala b/core-macros/src/test/scala/sbt/internal/ConvertTest.scala index 3c02f8dd7..220c184de 100644 --- a/core-macros/src/test/scala/sbt/internal/ConvertTest.scala +++ b/core-macros/src/test/scala/sbt/internal/ConvertTest.scala @@ -1,7 +1,7 @@ package sbt.internal import verify.* -import ConvertTestMacro._ +import ConvertTestMacro.* object ConvertTest extends BasicTestSuite: test("convert") { diff --git a/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala b/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala index 9084b6467..7f3b0e01b 100644 --- a/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala +++ b/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala @@ -8,8 +8,8 @@ package sbt.internal.util -import java.io._ -import java.util.{ List => JList } +import java.io.* +import java.util.{ List as JList } import jline.console.ConsoleReader import jline.console.history.{ FileHistory, MemoryHistory } @@ -17,14 +17,14 @@ import org.jline.reader.{ Candidate, Completer, EndOfFileException, - LineReader => JLineReader, + LineReader as JLineReader, LineReaderBuilder, ParsedLine, UserInterruptException, } import org.jline.utils.ClosedException import sbt.internal.util.complete.Parser -import sbt.io.syntax._ +import sbt.io.syntax.* import scala.util.control.NonFatal import java.nio.channels.ClosedByInterruptException @@ -223,7 +223,7 @@ abstract class JLine extends LineReader { } private def handleProgress(prompt: String): String = { - import ConsoleAppender._ + import ConsoleAppender.* if (showProgress) s"$DeleteLine" + prompt else prompt } diff --git a/internal/util-complete/src/main/scala/sbt/internal/util/complete/EditDistance.scala b/internal/util-complete/src/main/scala/sbt/internal/util/complete/EditDistance.scala index 3cfe6a126..1368a2fa4 100644 --- a/internal/util-complete/src/main/scala/sbt/internal/util/complete/EditDistance.scala +++ b/internal/util-complete/src/main/scala/sbt/internal/util/complete/EditDistance.scala @@ -9,7 +9,7 @@ package sbt.internal.util package complete -import java.lang.Character.{ toLowerCase => lower } +import java.lang.Character.{ toLowerCase as lower } /** @author Paul Phillips */ object EditDistance { diff --git a/internal/util-complete/src/main/scala/sbt/internal/util/complete/HistoryCommands.scala b/internal/util-complete/src/main/scala/sbt/internal/util/complete/HistoryCommands.scala index e3670ade5..133935e3c 100644 --- a/internal/util-complete/src/main/scala/sbt/internal/util/complete/HistoryCommands.scala +++ b/internal/util-complete/src/main/scala/sbt/internal/util/complete/HistoryCommands.scala @@ -52,7 +52,7 @@ object HistoryCommands { def printHistory(history: complete.History, historySize: Int, show: Int): Unit = history.list(historySize, show).foreach(println) - import DefaultParsers._ + import DefaultParsers.* val MaxLines = 500 lazy val num = token(NatBasic, "") diff --git a/internal/util-complete/src/main/scala/sbt/internal/util/complete/Parser.scala b/internal/util-complete/src/main/scala/sbt/internal/util/complete/Parser.scala index 88d2543ef..5549de44a 100644 --- a/internal/util-complete/src/main/scala/sbt/internal/util/complete/Parser.scala +++ b/internal/util-complete/src/main/scala/sbt/internal/util/complete/Parser.scala @@ -9,7 +9,7 @@ package sbt.internal.util package complete -import Parser._ +import Parser.* import sbt.internal.util.Types.{ left, right, some } import sbt.internal.util.Util.{ makeList, separate } @@ -878,7 +878,7 @@ private final class Not(delegate: Parser[?], failMessage: String) extends ValidP lazy val resultEmpty = delegate.resultEmpty match { case _: Failure => Value(()) - case _: Value[_] => mkFailure(failMessage) + case _: Value[?] => mkFailure(failMessage) } override def toString = s" -(${delegate})" diff --git a/internal/util-complete/src/main/scala/sbt/internal/util/complete/Parsers.scala b/internal/util-complete/src/main/scala/sbt/internal/util/complete/Parsers.scala index e18cd7143..2379da075 100644 --- a/internal/util-complete/src/main/scala/sbt/internal/util/complete/Parsers.scala +++ b/internal/util-complete/src/main/scala/sbt/internal/util/complete/Parsers.scala @@ -9,7 +9,7 @@ package sbt.internal.util package complete -import Parser._ +import Parser.* import java.io.File import java.net.URI import java.lang.Character.{ diff --git a/internal/util-complete/src/main/scala/sbt/internal/util/complete/SizeParser.scala b/internal/util-complete/src/main/scala/sbt/internal/util/complete/SizeParser.scala index 6c8dcc3b3..11bcff0df 100644 --- a/internal/util-complete/src/main/scala/sbt/internal/util/complete/SizeParser.scala +++ b/internal/util-complete/src/main/scala/sbt/internal/util/complete/SizeParser.scala @@ -8,7 +8,7 @@ package sbt.internal.util.complete -import sbt.internal.util.complete.DefaultParsers._ +import sbt.internal.util.complete.DefaultParsers.* private[sbt] object SizeParser { def apply(s: String): Option[Long] = Parser.parse(s, value).toOption diff --git a/internal/util-complete/src/main/scala/sbt/internal/util/complete/TokenCompletions.scala b/internal/util-complete/src/main/scala/sbt/internal/util/complete/TokenCompletions.scala index 0b30a9b64..9c76ae411 100644 --- a/internal/util-complete/src/main/scala/sbt/internal/util/complete/TokenCompletions.scala +++ b/internal/util-complete/src/main/scala/sbt/internal/util/complete/TokenCompletions.scala @@ -9,7 +9,7 @@ package sbt.internal.util package complete -import Completion.{ token => ctoken, tokenDisplay } +import Completion.{ token as ctoken, tokenDisplay } sealed trait TokenCompletions { def hideWhen(f: Int => Boolean): TokenCompletions diff --git a/internal/util-complete/src/main/scala/sbt/internal/util/complete/TypeString.scala b/internal/util-complete/src/main/scala/sbt/internal/util/complete/TypeString.scala index 8505e9baf..fa5a961ee 100644 --- a/internal/util-complete/src/main/scala/sbt/internal/util/complete/TypeString.scala +++ b/internal/util-complete/src/main/scala/sbt/internal/util/complete/TypeString.scala @@ -9,8 +9,8 @@ package sbt.internal.util package complete -import DefaultParsers._ -import TypeString._ +import DefaultParsers.* +import TypeString.* /** * Basic representation of types parsed from Manifest.toString. This can only represent the diff --git a/internal/util-complete/src/test/scala/DefaultParsersSpec.scala b/internal/util-complete/src/test/scala/DefaultParsersSpec.scala index 36d057960..47cc6eba8 100644 --- a/internal/util-complete/src/test/scala/DefaultParsersSpec.scala +++ b/internal/util-complete/src/test/scala/DefaultParsersSpec.scala @@ -9,7 +9,7 @@ package sbt.internal.util package complete -import org.scalacheck._, Gen._, Prop._ +import org.scalacheck.*, Gen.*, Prop.* object DefaultParsersSpec extends Properties("DefaultParsers") { import DefaultParsers.{ ID, isIDChar, matches, validID } diff --git a/internal/util-complete/src/test/scala/ParserTest.scala b/internal/util-complete/src/test/scala/ParserTest.scala index a884afc70..29f2acacb 100644 --- a/internal/util-complete/src/test/scala/ParserTest.scala +++ b/internal/util-complete/src/test/scala/ParserTest.scala @@ -10,7 +10,7 @@ package sbt.internal.util package complete object JLineTest { - import DefaultParsers._ + import DefaultParsers.* val one = "blue" | "green" | "black" val two = token("color" ~> Space) ~> token(one) @@ -44,11 +44,11 @@ object JLineTest { } } -import Parser._ -import org.scalacheck._ +import Parser.* +import org.scalacheck.* object ParserTest extends Properties("Completing Parser") { - import Parsers._ + import Parsers.* import DefaultParsers.matches val nested = (token("a1") ~ token("b2")) ~ "c3" diff --git a/internal/util-complete/src/test/scala/sbt/complete/ParserWithExamplesTest.scala b/internal/util-complete/src/test/scala/sbt/complete/ParserWithExamplesTest.scala index 60c8b9125..2cfe5dbdf 100644 --- a/internal/util-complete/src/test/scala/sbt/complete/ParserWithExamplesTest.scala +++ b/internal/util-complete/src/test/scala/sbt/complete/ParserWithExamplesTest.scala @@ -9,7 +9,7 @@ package sbt.internal.util package complete -import Completion._ +import Completion.* class ParserWithExamplesTest extends UnitSpec { @@ -84,7 +84,7 @@ class ParserWithExamplesTest extends UnitSpec { removeInvalidExamples: Boolean ) { - import DefaultParsers._ + import DefaultParsers.* val colorParser = "blue" | "green" | "black" | "red" val parserWithExamples: Parser[String] = new ParserWithExamples[String]( diff --git a/internal/util-core/src/main/scala-3/sbt/internal/util/appmacro/StringTypeTag.scala b/internal/util-core/src/main/scala-3/sbt/internal/util/appmacro/StringTypeTag.scala index a144923a9..11975a4c3 100644 --- a/internal/util-core/src/main/scala-3/sbt/internal/util/appmacro/StringTypeTag.scala +++ b/internal/util-core/src/main/scala-3/sbt/internal/util/appmacro/StringTypeTag.scala @@ -10,7 +10,7 @@ package sbt.internal.util.appmacro final class StringTypeTag[A](val key: String): override def toString(): String = key override def equals(o: Any): Boolean = this.eq(o.asInstanceOf[AnyRef]) || (o match { - case x: StringTypeTag[_] => (this.key == x.key) + case x: StringTypeTag[?] => (this.key == x.key) case _ => false }) override def hashCode: Int = key.## @@ -23,7 +23,7 @@ object StringTypeTag: import scala.quoted.* private def applyImpl[A: Type](using qctx: Quotes): Expr[StringTypeTag[A]] = - import qctx.reflect._ + import qctx.reflect.* val tpe = TypeRepr.of[A] '{ new StringTypeTag[A](${ Expr(tpe.dealias.show) }) } end StringTypeTag diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/BasicLogger.scala b/internal/util-logging/src/main/scala/sbt/internal/util/BasicLogger.scala index cef9dbb17..56c3ddbc9 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/BasicLogger.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/BasicLogger.scala @@ -8,7 +8,7 @@ package sbt.internal.util -import sbt.util._ +import sbt.util.* /** Implements the level-setting methods of Logger. */ abstract class BasicLogger extends AbstractLogger { diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/BufferedLogger.scala b/internal/util-logging/src/main/scala/sbt/internal/util/BufferedLogger.scala index de0120d57..af9dd9bf3 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/BufferedLogger.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/BufferedLogger.scala @@ -8,9 +8,9 @@ package sbt.internal.util -import sbt.util._ +import sbt.util.* import scala.collection.mutable.ListBuffer -import org.apache.logging.log4j.core.{ LogEvent => XLogEvent } +import org.apache.logging.log4j.core.{ LogEvent as XLogEvent } import org.apache.logging.log4j.core.appender.AbstractAppender import org.apache.logging.log4j.core.layout.PatternLayout import java.util.concurrent.atomic.AtomicInteger diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala b/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala index 5c48ee833..eed706ef9 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala @@ -14,11 +14,11 @@ import java.nio.channels.ClosedChannelException import java.util.concurrent.atomic.{ AtomicBoolean, AtomicInteger } import org.apache.logging.log4j.core.appender.AbstractAppender -import org.apache.logging.log4j.core.{ Appender => XAppender, LogEvent => XLogEvent } +import org.apache.logging.log4j.core.{ Appender as XAppender, LogEvent as XLogEvent } import org.apache.logging.log4j.message.{ Message, ObjectMessage, ReusableObjectMessage } -import org.apache.logging.log4j.{ Level => XLevel } -import sbt.internal.util.ConsoleAppender._ -import sbt.util._ +import org.apache.logging.log4j.{ Level as XLevel } +import sbt.internal.util.ConsoleAppender.* +import sbt.util.* import org.apache.logging.log4j.core.AbstractLogEvent import org.apache.logging.log4j.message.SimpleMessageFactory import java.util.concurrent.atomic.AtomicReference @@ -608,7 +608,7 @@ trait Appender extends AutoCloseable { o match { case x: StringEvent => Vector(x.message) foreach { appendLog(level, _) } - case x: ObjectEvent[_] => appendEvent(x) + case x: ObjectEvent[?] => appendEvent(x) case _ => Vector(o.toString) foreach { appendLog(level, _) } } } diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/FilterLogger.scala b/internal/util-logging/src/main/scala/sbt/internal/util/FilterLogger.scala index 234860f6f..3c90a15af 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/FilterLogger.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/FilterLogger.scala @@ -8,7 +8,7 @@ package sbt.internal.util -import sbt.util._ +import sbt.util.* import scala.annotation.nowarn /** diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/FullLogger.scala b/internal/util-logging/src/main/scala/sbt/internal/util/FullLogger.scala index 9eb93b1b0..4e5f79f7c 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/FullLogger.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/FullLogger.scala @@ -8,7 +8,7 @@ package sbt.internal.util -import sbt.util._ +import sbt.util.* import com.github.ghik.silencer.silent /** Promotes the simple Logger interface to the full AbstractLogger interface. */ diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/GlobalLogging.scala b/internal/util-logging/src/main/scala/sbt/internal/util/GlobalLogging.scala index e19332998..1c09acd23 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/GlobalLogging.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/GlobalLogging.scala @@ -8,7 +8,7 @@ package sbt.internal.util -import sbt.util._ +import sbt.util.* import java.io.{ File, PrintWriter } /** diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala b/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala index 143694691..0b6afa710 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala @@ -15,7 +15,7 @@ import java.util.{ Arrays, EnumSet } import java.util.concurrent.atomic.{ AtomicBoolean, AtomicReference } import org.jline.utils.InfoCmp.Capability import org.jline.utils.{ ClosedException, NonBlockingReader } -import org.jline.terminal.{ Attributes, Size, Terminal => JTerminal } +import org.jline.terminal.{ Attributes, Size, Terminal as JTerminal } import org.jline.terminal.Attributes.{ InputFlag, LocalFlag } import org.jline.terminal.Terminal.SignalHandler import org.jline.terminal.impl.{ AbstractTerminal, DumbTerminal } diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/LoggerWriter.scala b/internal/util-logging/src/main/scala/sbt/internal/util/LoggerWriter.scala index f134296b8..0c26a1127 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/LoggerWriter.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/LoggerWriter.scala @@ -8,7 +8,7 @@ package sbt.internal.util -import sbt.util._ +import sbt.util.* /** * Provides a `java.io.Writer` interface to a `Logger`. Content is line-buffered and logged at diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/MainAppender.scala b/internal/util-logging/src/main/scala/sbt/internal/util/MainAppender.scala index 734650bc6..eec04d5d4 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/MainAppender.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/MainAppender.scala @@ -8,7 +8,7 @@ package sbt.internal.util -import sbt.util._ +import sbt.util.* import java.io.PrintWriter object MainAppender { @@ -22,7 +22,7 @@ object MainAppender { config: MainAppenderConfig, context: LoggerContext ): ManagedLogger = { - import config._ + import config.* // TODO // backed setTrace backingTrace // multi: Logger diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/ManagedLogger.scala b/internal/util-logging/src/main/scala/sbt/internal/util/ManagedLogger.scala index 635353dd2..c8c0d8d95 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/ManagedLogger.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/ManagedLogger.scala @@ -8,8 +8,8 @@ package sbt.internal.util -import sbt.internal.util.codec.JsonProtocol._ -import sbt.util._ +import sbt.internal.util.codec.JsonProtocol.* +import sbt.util.* import sjsonnew.JsonFormat import sbt.internal.util.appmacro.StringTypeTag diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/MultiLogger.scala b/internal/util-logging/src/main/scala/sbt/internal/util/MultiLogger.scala index 2e9d9d73a..51d94408d 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/MultiLogger.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/MultiLogger.scala @@ -8,7 +8,7 @@ package sbt.internal.util -import sbt.util._ +import sbt.util.* import scala.annotation.nowarn // note that setting the logging level on this logger has no effect on its behavior, only diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala index 72de2f4de..d671847da 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala @@ -16,7 +16,7 @@ import java.util.concurrent.{ Executors, LinkedBlockingQueue, TimeUnit } import jline.console.ConsoleReader import scala.annotation.tailrec -import scala.concurrent.duration._ +import scala.concurrent.duration.* import scala.util.Try import scala.util.control.NonFatal diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/codec/JValueFormats.scala b/internal/util-logging/src/main/scala/sbt/internal/util/codec/JValueFormats.scala index 24fa2524d..222743163 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/codec/JValueFormats.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/codec/JValueFormats.scala @@ -10,8 +10,8 @@ package sbt package internal package util.codec -import sjsonnew.{ JsonWriter => JW, JsonReader => JR, JsonFormat => JF, _ } -import sjsonnew.shaded.scalajson.ast.unsafe._ +import sjsonnew.{ JsonWriter as JW, JsonReader as JR, JsonFormat as JF, * } +import sjsonnew.shaded.scalajson.ast.unsafe.* trait JValueFormats { self: sjsonnew.BasicJsonProtocol => given JNullFormat: JF[JNull.type] = new JF[JNull.type] { diff --git a/internal/util-logging/src/main/scala/sbt/util/InterfaceUtil.scala b/internal/util-logging/src/main/scala/sbt/util/InterfaceUtil.scala index b518a47fc..cd5fc2bba 100644 --- a/internal/util-logging/src/main/scala/sbt/util/InterfaceUtil.scala +++ b/internal/util-logging/src/main/scala/sbt/util/InterfaceUtil.scala @@ -11,7 +11,7 @@ package sbt.util import java.io.File import java.util.Optional import java.util.function.Supplier -import java.{ util => ju } +import java.{ util as ju } import xsbti.{ Action, @@ -32,7 +32,7 @@ object InterfaceUtil { override def get: A = a } - import java.util.function.{ Function => JavaFunction } + import java.util.function.{ Function as JavaFunction } def toJavaFunction[A1, R](f: A1 => R): JavaFunction[A1, R] = new JavaFunction[A1, R] { override def apply(t: A1): R = f(t) } diff --git a/internal/util-logging/src/main/scala/sbt/util/LogExchange.scala b/internal/util-logging/src/main/scala/sbt/util/LogExchange.scala index c960a1aea..95e5171bd 100644 --- a/internal/util-logging/src/main/scala/sbt/util/LogExchange.scala +++ b/internal/util-logging/src/main/scala/sbt/util/LogExchange.scala @@ -10,8 +10,8 @@ package sbt.util import org.apache.logging.log4j.core.config.LoggerConfig import org.apache.logging.log4j.core.layout.PatternLayout -import org.apache.logging.log4j.core.{ LoggerContext => XLoggerContext } -import org.apache.logging.log4j.{ LogManager => XLogManager } +import org.apache.logging.log4j.core.{ LoggerContext as XLoggerContext } +import org.apache.logging.log4j.{ LogManager as XLogManager } import sbt.internal.util.{ Appender, ManagedLogger, TraceEvent, SuccessEvent, Util } import sbt.internal.util.appmacro.StringTypeTag diff --git a/internal/util-logging/src/main/scala/sbt/util/Logger.scala b/internal/util-logging/src/main/scala/sbt/util/Logger.scala index fe6e0aa86..75a39710a 100644 --- a/internal/util-logging/src/main/scala/sbt/util/Logger.scala +++ b/internal/util-logging/src/main/scala/sbt/util/Logger.scala @@ -8,7 +8,7 @@ package sbt.util -import xsbti.{ Logger => xLogger } +import xsbti.{ Logger as xLogger } import xsbti.{ Position, Problem, Severity } import sys.process.ProcessLogger diff --git a/internal/util-logging/src/main/scala/sbt/util/LoggerContext.scala b/internal/util-logging/src/main/scala/sbt/util/LoggerContext.scala index ea6b515c9..dc426e91a 100644 --- a/internal/util-logging/src/main/scala/sbt/util/LoggerContext.scala +++ b/internal/util-logging/src/main/scala/sbt/util/LoggerContext.scala @@ -8,7 +8,7 @@ package sbt.util -import sbt.internal.util._ +import sbt.internal.util.* import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.atomic.{ AtomicReference, AtomicBoolean } diff --git a/internal/util-logging/src/test/scala/Escapes.scala b/internal/util-logging/src/test/scala/Escapes.scala index 3d81163a7..d88104c89 100644 --- a/internal/util-logging/src/test/scala/Escapes.scala +++ b/internal/util-logging/src/test/scala/Escapes.scala @@ -8,8 +8,8 @@ package sbt.internal.util -import org.scalacheck._ -import Prop._ +import org.scalacheck.* +import Prop.* import Gen.{ listOf, oneOf } import EscHelpers.{ ESC, hasEscapeSequence, isEscapeTerminator, removeEscapeSequences } diff --git a/internal/util-logging/src/test/scala/LogWriterTest.scala b/internal/util-logging/src/test/scala/LogWriterTest.scala index 65a860156..4ae741a37 100644 --- a/internal/util-logging/src/test/scala/LogWriterTest.scala +++ b/internal/util-logging/src/test/scala/LogWriterTest.scala @@ -8,11 +8,11 @@ package sbt.internal.util -import sbt.util._ -import org.scalacheck._ -import Arbitrary._ +import sbt.util.* +import org.scalacheck.* +import Arbitrary.* import Gen.{ listOfN, oneOf } -import Prop._ +import Prop.* import java.io.Writer diff --git a/internal/util-logging/src/test/scala/ManagedLoggerSpec.scala b/internal/util-logging/src/test/scala/ManagedLoggerSpec.scala index bb84a9d13..c85007c23 100644 --- a/internal/util-logging/src/test/scala/ManagedLoggerSpec.scala +++ b/internal/util-logging/src/test/scala/ManagedLoggerSpec.scala @@ -10,7 +10,7 @@ package sbt.internal.util import org.scalatest.flatspec.AnyFlatSpec import org.scalatest.matchers.should.Matchers -import sbt.util._ +import sbt.util.* import sbt.internal.util.appmacro.StringTypeTag import java.io.{ File, PrintWriter } import sbt.io.Using @@ -28,7 +28,7 @@ class ManagedLoggerSpec extends AnyFlatSpec with Matchers { } it should "support event logging" in { - import sjsonnew.BasicJsonProtocol._ + import sjsonnew.BasicJsonProtocol.* val log = newLogger("foo") context.addAppender("foo", asyncStdout -> Level.Info) log.infoEvent(1) @@ -47,14 +47,14 @@ class ManagedLoggerSpec extends AnyFlatSpec with Matchers { } it should "support logging Throwable out of the box" in { - import sbt.internal.util.codec.JsonProtocol._ + import sbt.internal.util.codec.JsonProtocol.* val log = newLogger("foo") context.addAppender("foo", asyncStdout -> Level.Info) log.infoEvent(SuccessEvent("yes")) } it should "allow registering Show[Int]" in { - import sjsonnew.BasicJsonProtocol._ + import sjsonnew.BasicJsonProtocol.* val log = newLogger("foo") context.addAppender("foo", asyncStdout -> Level.Info) given ShowLines[Int] = @@ -64,7 +64,7 @@ class ManagedLoggerSpec extends AnyFlatSpec with Matchers { } it should "allow registering Show[Array[Int]]" in { - import sjsonnew.BasicJsonProtocol._ + import sjsonnew.BasicJsonProtocol.* val log = newLogger("foo") context.addAppender("foo", asyncStdout -> Level.Info) given ShowLines[Array[Int]] = @@ -74,7 +74,7 @@ class ManagedLoggerSpec extends AnyFlatSpec with Matchers { } it should "allow registering Show[Vector[Vector[Int]]]" in { - import sjsonnew.BasicJsonProtocol._ + import sjsonnew.BasicJsonProtocol.* val log = newLogger("foo") context.addAppender("foo", asyncStdout -> Level.Info) given ShowLines[Vector[Vector[Int]]] = diff --git a/internal/util-logging/src/test/scala/ProblemTest.scala b/internal/util-logging/src/test/scala/ProblemTest.scala index ed54efe33..d8f08784b 100644 --- a/internal/util-logging/src/test/scala/ProblemTest.scala +++ b/internal/util-logging/src/test/scala/ProblemTest.scala @@ -9,11 +9,11 @@ package sbt import java.net.URI -import hedgehog._ -import hedgehog.runner._ +import hedgehog.* +import hedgehog.runner.* import _root_.sbt.util.InterfaceUtil import InterfaceUtil.{ jl2l, jo2o, l2jl } -import xsbti._ +import xsbti.* object ProblemTest extends Properties { override def tests: List[Test] = List( diff --git a/internal/util-logging/src/test/scala/TestLogger.scala b/internal/util-logging/src/test/scala/TestLogger.scala index d31369a71..80e46c8b6 100644 --- a/internal/util-logging/src/test/scala/TestLogger.scala +++ b/internal/util-logging/src/test/scala/TestLogger.scala @@ -8,7 +8,7 @@ package sbt.internal.util -import sbt.util._ +import sbt.util.* object TestLogger { def apply[T](f: Logger => T): T = { diff --git a/internal/util-logic/src/test/scala/sbt/logic/Test.scala b/internal/util-logic/src/test/scala/sbt/logic/Test.scala index 8d993f730..3eb66dde3 100644 --- a/internal/util-logic/src/test/scala/sbt/logic/Test.scala +++ b/internal/util-logic/src/test/scala/sbt/logic/Test.scala @@ -9,12 +9,12 @@ package sbt.internal.util package logic -import org.scalacheck._ +import org.scalacheck.* import Prop.secure import Logic.{ LogicException, Matched } object LogicTest extends Properties("Logic") { - import TestClauses._ + import TestClauses.* property("Handles trivial resolution.") = secure(expect(trivial, Set(A))) property("Handles less trivial resolution.") = secure(expect(lessTrivial, Set(B, A, D))) diff --git a/internal/util-relation/src/main/scala/sbt/internal/util/Relation.scala b/internal/util-relation/src/main/scala/sbt/internal/util/Relation.scala index e0d8536f8..962acb17a 100644 --- a/internal/util-relation/src/main/scala/sbt/internal/util/Relation.scala +++ b/internal/util-relation/src/main/scala/sbt/internal/util/Relation.scala @@ -8,7 +8,7 @@ package sbt.internal.util -import Relation._ +import Relation.* object Relation { diff --git a/internal/util-relation/src/test/scala/RelationTest.scala b/internal/util-relation/src/test/scala/RelationTest.scala index 295562e63..f1ec8829e 100644 --- a/internal/util-relation/src/test/scala/RelationTest.scala +++ b/internal/util-relation/src/test/scala/RelationTest.scala @@ -8,8 +8,8 @@ package sbt.internal.util -import org.scalacheck._ -import Prop._ +import org.scalacheck.* +import Prop.* object RelationTest extends Properties("Relation") { property("Added entry check") = forAll { (pairs: List[(Int, Double)]) => diff --git a/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala b/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala index 66422e465..9f746ff9e 100644 --- a/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala +++ b/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala @@ -14,7 +14,7 @@ import java.io.File import sbt.nio.file.{ FileTreeView, Glob, PathFilter, RecursiveGlob } import sbt.io.{ IO, Path } import sbt.io.syntax.* -import Path._ +import Path.* class FileCommands(baseDirectory: File) extends BasicStatementHandler { final val OR = "||" diff --git a/internal/util-scripted/src/main/scala/sbt/internal/scripted/FilteredLoader.scala b/internal/util-scripted/src/main/scala/sbt/internal/scripted/FilteredLoader.scala index 65141672e..7dfe41279 100644 --- a/internal/util-scripted/src/main/scala/sbt/internal/scripted/FilteredLoader.scala +++ b/internal/util-scripted/src/main/scala/sbt/internal/scripted/FilteredLoader.scala @@ -10,7 +10,7 @@ package sbt package internal package scripted -import java.{ util => ju } +import java.{ util as ju } import java.net.URL final class FilteredLoader(parent: ClassLoader) extends ClassLoader(parent) { diff --git a/internal/util-scripted/src/main/scala/sbt/internal/scripted/ScriptedTests.scala b/internal/util-scripted/src/main/scala/sbt/internal/scripted/ScriptedTests.scala index b5b4a392a..4ff8a1567 100644 --- a/internal/util-scripted/src/main/scala/sbt/internal/scripted/ScriptedTests.scala +++ b/internal/util-scripted/src/main/scala/sbt/internal/scripted/ScriptedTests.scala @@ -15,7 +15,7 @@ import sbt.util.{ Logger, LoggerContext, Level } import sbt.internal.util.{ Appender, ManagedLogger, ConsoleAppender, BufferedAppender } import sbt.io.IO.wrapNull import sbt.io.{ DirectoryFilter, HiddenFileFilter } -import sbt.io.syntax._ +import sbt.io.syntax.* import sbt.internal.io.Resources import java.util.concurrent.atomic.AtomicInteger @@ -201,7 +201,7 @@ object ListTests { def list(directory: File, filter: java.io.FileFilter): Seq[File] = wrapNull(directory.listFiles(filter)).toSeq } -import ListTests._ +import ListTests.* final class ListTests(baseDirectory: File, accept: ScriptedTest => Boolean, log: Logger) { def filter = DirectoryFilter -- HiddenFileFilter def listTests: Seq[ScriptedTest] = { diff --git a/internal/util-scripted/src/main/scala/sbt/internal/scripted/TestScriptParser.scala b/internal/util-scripted/src/main/scala/sbt/internal/scripted/TestScriptParser.scala index c1cf65b0e..b23887d6b 100644 --- a/internal/util-scripted/src/main/scala/sbt/internal/scripted/TestScriptParser.scala +++ b/internal/util-scripted/src/main/scala/sbt/internal/scripted/TestScriptParser.scala @@ -11,7 +11,7 @@ package internal package scripted import java.io.File -import scala.util.parsing.combinator._ +import scala.util.parsing.combinator.* import scala.util.parsing.input.Positional import Character.isWhitespace import sbt.io.IO @@ -40,7 +40,7 @@ private object TestScriptParser { val WordRegex = """[^ \[\]\s'\"][^ \[\]\s]*""".r } -import TestScriptParser._ +import TestScriptParser.* class TestScriptParser(handlers: Map[Char, StatementHandler]) extends RegexParsers { require(handlers.nonEmpty) override def skipWhitespace = false diff --git a/lm-core/src/main/scala/sbt/internal/librarymanagement/CompatibilityWarning.scala b/lm-core/src/main/scala/sbt/internal/librarymanagement/CompatibilityWarning.scala index 3ad192577..5f7550a4a 100644 --- a/lm-core/src/main/scala/sbt/internal/librarymanagement/CompatibilityWarning.scala +++ b/lm-core/src/main/scala/sbt/internal/librarymanagement/CompatibilityWarning.scala @@ -1,9 +1,9 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.util.{ Level, Logger } -import Configurations._ +import Configurations.* final class CompatibilityWarningOptions private[sbt] ( val configurations: Seq[Configuration], diff --git a/lm-core/src/main/scala/sbt/internal/librarymanagement/InternalDefaults.scala b/lm-core/src/main/scala/sbt/internal/librarymanagement/InternalDefaults.scala index 277d54dba..3a13b5722 100644 --- a/lm-core/src/main/scala/sbt/internal/librarymanagement/InternalDefaults.scala +++ b/lm-core/src/main/scala/sbt/internal/librarymanagement/InternalDefaults.scala @@ -2,8 +2,8 @@ package sbt package internal.librarymanagement import java.io.File -import sbt.librarymanagement._ -import sbt.io.syntax._ +import sbt.librarymanagement.* +import sbt.io.syntax.* /** * This is a list of functions with default values. diff --git a/lm-core/src/main/scala/sbt/internal/librarymanagement/JsonUtil.scala b/lm-core/src/main/scala/sbt/internal/librarymanagement/JsonUtil.scala index 8d15a64cb..f4f68bcf6 100644 --- a/lm-core/src/main/scala/sbt/internal/librarymanagement/JsonUtil.scala +++ b/lm-core/src/main/scala/sbt/internal/librarymanagement/JsonUtil.scala @@ -2,7 +2,7 @@ package sbt.internal.librarymanagement import java.io.File import sbt.util.{ CacheStore, Logger } -import sbt.librarymanagement._, LibraryManagementCodec._ +import sbt.librarymanagement.*, LibraryManagementCodec.* import sbt.io.IO private[sbt] object JsonUtil { diff --git a/lm-core/src/main/scala/sbt/internal/librarymanagement/UpdateClassifiersUtil.scala b/lm-core/src/main/scala/sbt/internal/librarymanagement/UpdateClassifiersUtil.scala index 9f87ff5e8..455e74619 100644 --- a/lm-core/src/main/scala/sbt/internal/librarymanagement/UpdateClassifiersUtil.scala +++ b/lm-core/src/main/scala/sbt/internal/librarymanagement/UpdateClassifiersUtil.scala @@ -1,7 +1,7 @@ package sbt.internal.librarymanagement import java.io.File -import sbt.librarymanagement._ +import sbt.librarymanagement.* object UpdateClassifiersUtil { diff --git a/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/GlobalLockFormat.scala b/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/GlobalLockFormat.scala index 659284a4e..4fe27fb77 100644 --- a/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/GlobalLockFormat.scala +++ b/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/GlobalLockFormat.scala @@ -1,7 +1,7 @@ package sbt.internal.librarymanagement.formats -import sjsonnew._ -import xsbti._ +import sjsonnew.* +import xsbti.* import java.io.File import java.util.concurrent.Callable @@ -10,7 +10,7 @@ import java.util.concurrent.Callable * This is mostly for making IvyConfiguration serializable to JSON. */ trait GlobalLockFormat { self: BasicJsonProtocol => - import GlobalLockFormats._ + import GlobalLockFormats.* given globalLockIsoString: IsoString[GlobalLock] = IsoString.iso(_ => "", _ => NoGlobalLock) diff --git a/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/LoggerFormat.scala b/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/LoggerFormat.scala index 63e5c67c1..7364c3c3e 100644 --- a/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/LoggerFormat.scala +++ b/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/LoggerFormat.scala @@ -1,7 +1,7 @@ package sbt.internal.librarymanagement.formats -import sjsonnew._ -import xsbti._ +import sjsonnew.* +import xsbti.* import sbt.util.Logger.Null /** diff --git a/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/LogicalClockFormats.scala b/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/LogicalClockFormats.scala index f48b7e763..518539e23 100644 --- a/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/LogicalClockFormats.scala +++ b/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/LogicalClockFormats.scala @@ -1,6 +1,6 @@ package sbt.internal.librarymanagement.formats -import sjsonnew._ +import sjsonnew.* import sbt.librarymanagement.LogicalClock diff --git a/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/NodeSeqFormat.scala b/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/NodeSeqFormat.scala index ab7290ae7..3a1834aad 100644 --- a/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/NodeSeqFormat.scala +++ b/lm-core/src/main/scala/sbt/internal/librarymanagement/formats/NodeSeqFormat.scala @@ -1,7 +1,7 @@ package sbt.internal.librarymanagement.formats -import sjsonnew._ -import scala.xml._ +import sjsonnew.* +import scala.xml.* trait NodeSeqFormat { self: BasicJsonProtocol => given NodeSeqFormat: JsonFormat[NodeSeq] = projectFormat[NodeSeq, String]( diff --git a/lm-core/src/main/scala/sbt/librarymanagement/ArtifactExtra.scala b/lm-core/src/main/scala/sbt/librarymanagement/ArtifactExtra.scala index 411f486aa..938a164d6 100644 --- a/lm-core/src/main/scala/sbt/librarymanagement/ArtifactExtra.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/ArtifactExtra.scala @@ -101,7 +101,7 @@ private[librarymanagement] abstract class ArtifactFunctions { ) } def artifactName(scalaVersion: ScalaVersion, module: ModuleID, artifact: Artifact): String = { - import artifact._ + import artifact.* val classifierStr = classifier match { case None => ""; case Some(c) => "-" + c } val cross = CrossVersion(module.crossVersion, scalaVersion.full, scalaVersion.binary) val base = CrossVersion.applyCross(artifact.name, cross) diff --git a/lm-core/src/main/scala/sbt/librarymanagement/CrossVersionExtra.scala b/lm-core/src/main/scala/sbt/librarymanagement/CrossVersionExtra.scala index 546089928..56c30b67c 100644 --- a/lm-core/src/main/scala/sbt/librarymanagement/CrossVersionExtra.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/CrossVersionExtra.scala @@ -1,7 +1,7 @@ package sbt.librarymanagement import sbt.internal.librarymanagement.cross.CrossVersionUtil -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.syntax.* final case class ScalaVersion(full: String, binary: String) diff --git a/lm-core/src/main/scala/sbt/librarymanagement/DependencyBuilders.scala b/lm-core/src/main/scala/sbt/librarymanagement/DependencyBuilders.scala index 77d9ff22f..0080ab372 100755 --- a/lm-core/src/main/scala/sbt/librarymanagement/DependencyBuilders.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/DependencyBuilders.scala @@ -14,7 +14,7 @@ trait DependencyBuilders { // Avoid calling super // Avoid initializer statements in the body - import DependencyBuilders._ + import DependencyBuilders.* implicit def stringToOrganization(organization: String): Organization = { nonEmpty(organization, "Organization") diff --git a/lm-core/src/main/scala/sbt/librarymanagement/DependencyResolution.scala b/lm-core/src/main/scala/sbt/librarymanagement/DependencyResolution.scala index 21c2b946b..eb40bb2c6 100644 --- a/lm-core/src/main/scala/sbt/librarymanagement/DependencyResolution.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/DependencyResolution.scala @@ -3,14 +3,14 @@ package sbt.librarymanagement import java.io.File import sbt.util.Logger import sbt.io.Hash -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.syntax.* /** * Library management API to resolve dependencies. */ class DependencyResolution private[sbt] (lmEngine: DependencyResolutionInterface) { - import sbt.internal.librarymanagement.InternalDefaults._ - import sbt.internal.librarymanagement.UpdateClassifiersUtil._ + import sbt.internal.librarymanagement.InternalDefaults.* + import sbt.internal.librarymanagement.UpdateClassifiersUtil.* /** * Builds a ModuleDescriptor that describes a subproject with dependencies. @@ -160,7 +160,7 @@ class DependencyResolution private[sbt] (lmEngine: DependencyResolutionInterface artifacts: Vector[(String, ModuleID, Artifact, File)], log: Logger ): Either[UnresolvedWarning, UpdateReport] = { - import config.module._ + import config.module.* val artifactFilter = getArtifactTypeFilter(config.updateConfiguration.artifactFilter) assert(classifiers.nonEmpty, "classifiers cannot be empty") assert(artifactFilter.types.nonEmpty, "UpdateConfiguration must filter on some types") @@ -198,7 +198,7 @@ class DependencyResolution private[sbt] (lmEngine: DependencyResolutionInterface protected def directDependenciesNames(module: ModuleDescriptor): String = (module.directDependencies map { case mID: ModuleID => - import mID._ + import mID.* s"$organization % $name % $revision" }).mkString(", ") } diff --git a/lm-core/src/main/scala/sbt/librarymanagement/EvictionWarning.scala b/lm-core/src/main/scala/sbt/librarymanagement/EvictionWarning.scala index 4a62f31b2..19247e068 100644 --- a/lm-core/src/main/scala/sbt/librarymanagement/EvictionWarning.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/EvictionWarning.scala @@ -398,7 +398,7 @@ object EvictionWarning { } given evictionWarningLines: ShowLines[EvictionWarning] = ShowLines { (a: EvictionWarning) => - import ShowLines._ + import ShowLines.* val out: mutable.ListBuffer[String] = mutable.ListBuffer() if (a.options.warnEvictionSummary && a.binaryIncompatibleEvictionExists) { out += "There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings." @@ -423,7 +423,7 @@ object EvictionWarning { private[sbt] def infoAllTheThings(a: EvictionWarning): List[String] = if (a.options.infoAllEvictions) { - import ShowLines._ + import ShowLines.* val evo = a.options val out: mutable.ListBuffer[String] = mutable.ListBuffer() a.allEvictions foreach { ev => diff --git a/lm-core/src/main/scala/sbt/librarymanagement/Http.scala b/lm-core/src/main/scala/sbt/librarymanagement/Http.scala index 5edf9a746..0ac5f5dc9 100644 --- a/lm-core/src/main/scala/sbt/librarymanagement/Http.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/Http.scala @@ -1,6 +1,6 @@ package sbt.librarymanagement -import gigahorse._, support.apachehttp.Gigahorse +import gigahorse.*, support.apachehttp.Gigahorse import scala.concurrent.duration.DurationInt object Http { diff --git a/lm-core/src/main/scala/sbt/librarymanagement/LibraryManagementSyntax.scala b/lm-core/src/main/scala/sbt/librarymanagement/LibraryManagementSyntax.scala index 104fb7ab3..6e71988f1 100644 --- a/lm-core/src/main/scala/sbt/librarymanagement/LibraryManagementSyntax.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/LibraryManagementSyntax.scala @@ -26,7 +26,7 @@ trait LibraryManagementSyntax type InclusionRule = InclExclRule final val InclusionRule = InclExclRule - import sbt.librarymanagement.{ Configurations => C } + import sbt.librarymanagement.{ Configurations as C } final val Compile = C.Compile final val Test = C.Test final val Runtime = C.Runtime diff --git a/lm-core/src/main/scala/sbt/librarymanagement/ModuleIDExtra.scala b/lm-core/src/main/scala/sbt/librarymanagement/ModuleIDExtra.scala index f8eb4fe6c..d630066d3 100644 --- a/lm-core/src/main/scala/sbt/librarymanagement/ModuleIDExtra.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/ModuleIDExtra.scala @@ -7,7 +7,7 @@ import java.net.URI import sbt.internal.librarymanagement.mavenint.SbtPomExtraProperties import scala.collection.mutable.ListBuffer -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.syntax.* import sbt.util.Logger private[librarymanagement] abstract class ModuleIDExtra { diff --git a/lm-core/src/main/scala/sbt/librarymanagement/RichUpdateReport.scala b/lm-core/src/main/scala/sbt/librarymanagement/RichUpdateReport.scala index df421ca65..66bf8dadf 100644 --- a/lm-core/src/main/scala/sbt/librarymanagement/RichUpdateReport.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/RichUpdateReport.scala @@ -26,7 +26,7 @@ final class RichUpdateReport(report: UpdateReport) { UpdateReport(report.cachedDescriptor, report.configurations, report.stats, stamps) } - import DependencyFilter._ + import DependencyFilter.* /** Obtains all successfully retrieved files in all configurations and modules. */ def allFiles: Vector[File] = matching(DependencyFilter.allPass) @@ -113,7 +113,7 @@ final class RichUpdateReport(report: UpdateReport) { private[sbt] def moduleReportMap(f: (ConfigRef, ModuleReport) => ModuleReport): UpdateReport = { val newConfigurations = report.configurations.map { confReport => - import confReport._ + import confReport.* val newModules = modules map { modReport => f(configuration, modReport) } diff --git a/lm-core/src/main/scala/sbt/librarymanagement/UpdateReportExtra.scala b/lm-core/src/main/scala/sbt/librarymanagement/UpdateReportExtra.scala index 0b2265c0c..43076eba1 100644 --- a/lm-core/src/main/scala/sbt/librarymanagement/UpdateReportExtra.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/UpdateReportExtra.scala @@ -4,7 +4,7 @@ package sbt.librarymanagement import java.io.File -import java.{ util => ju } +import java.{ util as ju } private[librarymanagement] abstract class ConfigurationReportExtra { def configuration: ConfigRef @@ -111,7 +111,7 @@ private[librarymanagement] abstract class ModuleReportExtra { } getOrElse "" private def calendarToString(c: ju.Calendar): String = { - import sjsonnew._, BasicJsonProtocol._ + import sjsonnew.*, BasicJsonProtocol.* implicitly[IsoString[ju.Calendar]] to c } diff --git a/lm-core/src/main/scala/sbt/librarymanagement/VersionNumber.scala b/lm-core/src/main/scala/sbt/librarymanagement/VersionNumber.scala index c48570eec..e4af203db 100644 --- a/lm-core/src/main/scala/sbt/librarymanagement/VersionNumber.scala +++ b/lm-core/src/main/scala/sbt/librarymanagement/VersionNumber.scala @@ -179,7 +179,7 @@ object VersionNumber { * Also API compatibility is expected even when the first segment is zero. */ object PackVer extends VersionNumberCompatibility { - import SemVer._ + import SemVer.* def name: String = "Package Versioning Policy" @@ -199,7 +199,7 @@ object VersionNumber { * A variant of SemVar that enforces API compatibility when the first segment is zero. */ object EarlySemVer extends VersionNumberCompatibility { - import SemVer._ + import SemVer.* def name: String = "Early Semantic Versioning" diff --git a/lm-core/src/test/scala/ConfigMacroSpec.scala b/lm-core/src/test/scala/ConfigMacroSpec.scala index ea409efa7..1be735466 100644 --- a/lm-core/src/test/scala/ConfigMacroSpec.scala +++ b/lm-core/src/test/scala/ConfigMacroSpec.scala @@ -3,8 +3,8 @@ package sbt.internal.librarymanagement import sbt.librarymanagement.Configuration import sbt.librarymanagement.Configurations.config import scala.util.control.NonFatal -import org.scalacheck._ -import Prop._ +import org.scalacheck.* +import Prop.* class ConfigDefs { lazy val Kompile = config("kompile") @@ -16,7 +16,7 @@ class ConfigDefs { object ConfigMacroSpec extends Properties("ConfigMacroSpec") { lazy val cd = new ConfigDefs - import cd._ + import cd.* def secure(f: => Prop): Prop = try { diff --git a/lm-core/src/test/scala/sbt/librarymanagement/CrossVersionTest.scala b/lm-core/src/test/scala/sbt/librarymanagement/CrossVersionTest.scala index c7cac1919..9ff2aa063 100644 --- a/lm-core/src/test/scala/sbt/librarymanagement/CrossVersionTest.scala +++ b/lm-core/src/test/scala/sbt/librarymanagement/CrossVersionTest.scala @@ -1,7 +1,7 @@ package sbt.librarymanagement import sbt.internal.librarymanagement.UnitSpec -import CrossVersion._ +import CrossVersion.* import scala.annotation.nowarn class CrossVersionTest extends UnitSpec { diff --git a/lm-core/src/test/scala/sbt/librarymanagement/ModuleIdTest.scala b/lm-core/src/test/scala/sbt/librarymanagement/ModuleIdTest.scala index 1c962aac2..c610512e6 100644 --- a/lm-core/src/test/scala/sbt/librarymanagement/ModuleIdTest.scala +++ b/lm-core/src/test/scala/sbt/librarymanagement/ModuleIdTest.scala @@ -22,13 +22,13 @@ object ModuleIdTest extends verify.BasicTestSuite { } test("it should format itself into JSON") { - import LibraryManagementCodec._ + import LibraryManagementCodec.* val json = Converter.toJson(ModuleID("com.acme", "foo", "1")).get assert(CompactPrinter(json) == expectedJson) } test("it should thaw back from JSON") { - import LibraryManagementCodec._ + import LibraryManagementCodec.* val json = Parser.parseUnsafe(expectedJson) val m = Converter.fromJsonUnsafe[ModuleID](json) assert(m == ModuleID("com.acme", "foo", "1")) diff --git a/lm-coursier/definitions/src/main/scala/lmcoursier/credentials/DirectCredentials.scala b/lm-coursier/definitions/src/main/scala/lmcoursier/credentials/DirectCredentials.scala index 3dacc4832..c767abf70 100644 --- a/lm-coursier/definitions/src/main/scala/lmcoursier/credentials/DirectCredentials.scala +++ b/lm-coursier/definitions/src/main/scala/lmcoursier/credentials/DirectCredentials.scala @@ -1,6 +1,6 @@ package lmcoursier.credentials -import dataclass._ +import dataclass.* @data class DirectCredentials( host: String = "", diff --git a/lm-coursier/definitions/src/main/scala/lmcoursier/definitions/Authentication.scala b/lm-coursier/definitions/src/main/scala/lmcoursier/definitions/Authentication.scala index e02f99b2f..054cb4c08 100644 --- a/lm-coursier/definitions/src/main/scala/lmcoursier/definitions/Authentication.scala +++ b/lm-coursier/definitions/src/main/scala/lmcoursier/definitions/Authentication.scala @@ -1,6 +1,6 @@ package lmcoursier.definitions -import dataclass._ +import dataclass.* @data class Authentication( user: String, diff --git a/lm-coursier/definitions/src/main/scala/lmcoursier/definitions/Strict.scala b/lm-coursier/definitions/src/main/scala/lmcoursier/definitions/Strict.scala index 22b7c56c7..83b4d8b70 100644 --- a/lm-coursier/definitions/src/main/scala/lmcoursier/definitions/Strict.scala +++ b/lm-coursier/definitions/src/main/scala/lmcoursier/definitions/Strict.scala @@ -1,6 +1,6 @@ package lmcoursier.definitions -import dataclass._ +import dataclass.* @data class Strict( include: Set[(String, String)] = Set(("*", "*")), diff --git a/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala b/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala index 7ee3d5184..b4a9f6f7b 100644 --- a/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala +++ b/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala @@ -21,9 +21,9 @@ import lmcoursier.internal.{ UpdateParams, UpdateRun } -import lmcoursier.syntax._ +import lmcoursier.syntax.* import sbt.internal.librarymanagement.IvySbt -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.util.Logger import coursier.core.Dependency import coursier.core.Publication @@ -92,7 +92,7 @@ class CoursierDependencyResolution( report0 case Left(unresolvedWarning) => - import sbt.util.ShowLines._ + import sbt.util.ShowLines.* unresolvedWarning.lines.foreach(log.warn(_)) throw unresolvedWarning.resolveException } diff --git a/lm-coursier/src/main/scala/lmcoursier/FromSbt.scala b/lm-coursier/src/main/scala/lmcoursier/FromSbt.scala index 3f1b28f1e..12266882a 100644 --- a/lm-coursier/src/main/scala/lmcoursier/FromSbt.scala +++ b/lm-coursier/src/main/scala/lmcoursier/FromSbt.scala @@ -1,6 +1,6 @@ package lmcoursier -import coursier.ivy.IvyXml.{ mappings => ivyXmlMappings } +import coursier.ivy.IvyXml.{ mappings as ivyXmlMappings } import lmcoursier.definitions.{ Classifier, Configuration, @@ -15,7 +15,7 @@ import lmcoursier.definitions.{ Type } import sbt.internal.librarymanagement.mavenint.SbtPomExtraProperties -import sbt.librarymanagement.{ Configuration => _, MavenRepository => _, _ } +import sbt.librarymanagement.{ Configuration as _, MavenRepository as _, * } object FromSbt { diff --git a/lm-coursier/src/main/scala/lmcoursier/Inputs.scala b/lm-coursier/src/main/scala/lmcoursier/Inputs.scala index 01272ddcb..433cfb68f 100644 --- a/lm-coursier/src/main/scala/lmcoursier/Inputs.scala +++ b/lm-coursier/src/main/scala/lmcoursier/Inputs.scala @@ -1,6 +1,6 @@ package lmcoursier -import coursier.ivy.IvyXml.{ mappings => initialIvyXmlMappings } +import coursier.ivy.IvyXml.{ mappings as initialIvyXmlMappings } import lmcoursier.definitions.{ Configuration, Module, ModuleName, Organization } import sbt.librarymanagement.{ CrossVersion, InclExclRule, ModuleID } import sbt.util.Logger diff --git a/lm-coursier/src/main/scala/lmcoursier/internal/CoursierModuleDescriptor.scala b/lm-coursier/src/main/scala/lmcoursier/internal/CoursierModuleDescriptor.scala index 006ec2441..12e8143e9 100644 --- a/lm-coursier/src/main/scala/lmcoursier/internal/CoursierModuleDescriptor.scala +++ b/lm-coursier/src/main/scala/lmcoursier/internal/CoursierModuleDescriptor.scala @@ -1,7 +1,7 @@ package lmcoursier.internal import lmcoursier.CoursierConfiguration -import sbt.librarymanagement._ +import sbt.librarymanagement.* private[lmcoursier] final case class CoursierModuleDescriptor( descriptor: ModuleDescriptorConfiguration, diff --git a/lm-coursier/src/main/scala/lmcoursier/internal/InterProjectRepository.scala b/lm-coursier/src/main/scala/lmcoursier/internal/InterProjectRepository.scala index 842e54081..73eea7e88 100644 --- a/lm-coursier/src/main/scala/lmcoursier/internal/InterProjectRepository.scala +++ b/lm-coursier/src/main/scala/lmcoursier/internal/InterProjectRepository.scala @@ -1,6 +1,6 @@ package lmcoursier.internal -import coursier.core._ +import coursier.core.* import coursier.util.{ EitherT, Monad } // private[coursier] diff --git a/lm-coursier/src/main/scala/lmcoursier/internal/ResolutionParams.scala b/lm-coursier/src/main/scala/lmcoursier/internal/ResolutionParams.scala index 64cd965eb..7d7bed5db 100644 --- a/lm-coursier/src/main/scala/lmcoursier/internal/ResolutionParams.scala +++ b/lm-coursier/src/main/scala/lmcoursier/internal/ResolutionParams.scala @@ -4,7 +4,7 @@ import java.io.File import coursier.cache.{ CacheLogger, FileCache } import coursier.ProjectCache -import coursier.core._ +import coursier.core.* import coursier.params.rule.Strict import lmcoursier.FallbackDependency import lmcoursier.definitions.ToCoursier diff --git a/lm-coursier/src/main/scala/lmcoursier/internal/ResolutionRun.scala b/lm-coursier/src/main/scala/lmcoursier/internal/ResolutionRun.scala index 233c8e505..0e90ff268 100644 --- a/lm-coursier/src/main/scala/lmcoursier/internal/ResolutionRun.scala +++ b/lm-coursier/src/main/scala/lmcoursier/internal/ResolutionRun.scala @@ -3,7 +3,7 @@ package lmcoursier.internal import coursier.{ Resolution, Resolve } import coursier.cache.internal.ThreadUtil import coursier.cache.loggers.{ FallbackRefreshDisplay, ProgressBarRefreshDisplay, RefreshLogger } -import coursier.core._ +import coursier.core.* import coursier.error.ResolutionError import coursier.error.ResolutionError.CantDownloadModule import coursier.ivy.IvyRepository diff --git a/lm-coursier/src/main/scala/lmcoursier/internal/Resolvers.scala b/lm-coursier/src/main/scala/lmcoursier/internal/Resolvers.scala index 10695e794..dcc8d040b 100644 --- a/lm-coursier/src/main/scala/lmcoursier/internal/Resolvers.scala +++ b/lm-coursier/src/main/scala/lmcoursier/internal/Resolvers.scala @@ -8,10 +8,10 @@ import coursier.core.{ Authentication, Repository } import coursier.ivy.IvyRepository import coursier.maven.SbtMavenRepository import org.apache.ivy.plugins.resolver.IBiblioResolver -import sbt.librarymanagement.{ Configuration => _, MavenRepository => _, _ } +import sbt.librarymanagement.{ Configuration as _, MavenRepository as _, * } import sbt.util.Logger -import scala.jdk.CollectionConverters._ +import scala.jdk.CollectionConverters.* object Resolvers { diff --git a/lm-coursier/src/main/scala/lmcoursier/internal/SbtCoursierCache.scala b/lm-coursier/src/main/scala/lmcoursier/internal/SbtCoursierCache.scala index 35dcdad86..05465957c 100644 --- a/lm-coursier/src/main/scala/lmcoursier/internal/SbtCoursierCache.scala +++ b/lm-coursier/src/main/scala/lmcoursier/internal/SbtCoursierCache.scala @@ -2,7 +2,7 @@ package lmcoursier.internal import java.util.concurrent.ConcurrentHashMap -import coursier.core._ +import coursier.core.* import sbt.librarymanagement.UpdateReport import coursier.cache.FileCache import coursier.util.Task @@ -10,7 +10,7 @@ import coursier.util.Task // private[coursier] class SbtCoursierCache { - import SbtCoursierCache._ + import SbtCoursierCache.* private val resolutionsCache = new ConcurrentHashMap[ResolutionKey, Map[Configuration, Resolution]] diff --git a/lm-coursier/src/main/scala/lmcoursier/internal/SbtUpdateReport.scala b/lm-coursier/src/main/scala/lmcoursier/internal/SbtUpdateReport.scala index af766b719..ea63b100b 100644 --- a/lm-coursier/src/main/scala/lmcoursier/internal/SbtUpdateReport.scala +++ b/lm-coursier/src/main/scala/lmcoursier/internal/SbtUpdateReport.scala @@ -8,7 +8,7 @@ import coursier.{ Attributes, Dependency, Module, Project, Resolution } import coursier.core.{ Classifier, Configuration, Extension, Info, Publication, Type } import coursier.maven.MavenAttributes import coursier.util.Artifact -import sbt.librarymanagement.{ Artifact => _, Configuration => _, _ } +import sbt.librarymanagement.{ Artifact as _, Configuration as _, * } import sbt.util.Logger import scala.annotation.tailrec diff --git a/lm-coursier/src/main/scala/lmcoursier/internal/TemporaryInMemoryRepository.scala b/lm-coursier/src/main/scala/lmcoursier/internal/TemporaryInMemoryRepository.scala index 72cb313ef..3a1efb10e 100644 --- a/lm-coursier/src/main/scala/lmcoursier/internal/TemporaryInMemoryRepository.scala +++ b/lm-coursier/src/main/scala/lmcoursier/internal/TemporaryInMemoryRepository.scala @@ -4,7 +4,7 @@ import java.io.{ File, FileNotFoundException, IOException } import java.net.{ HttpURLConnection, URL, URLConnection } import coursier.cache.{ ConnectionBuilder, FileCache } -import coursier.core._ +import coursier.core.* import coursier.util.{ Artifact, EitherT, Monad } import scala.util.Try diff --git a/lm-coursier/src/main/scala/lmcoursier/internal/UpdateParams.scala b/lm-coursier/src/main/scala/lmcoursier/internal/UpdateParams.scala index bed75ebce..6cc3e077c 100644 --- a/lm-coursier/src/main/scala/lmcoursier/internal/UpdateParams.scala +++ b/lm-coursier/src/main/scala/lmcoursier/internal/UpdateParams.scala @@ -2,7 +2,7 @@ package lmcoursier.internal import java.io.File -import coursier.core._ +import coursier.core.* import coursier.util.Artifact // private[coursier] diff --git a/lm-coursier/src/main/scala/lmcoursier/internal/UpdateRun.scala b/lm-coursier/src/main/scala/lmcoursier/internal/UpdateRun.scala index 5b654bc1f..024d2ec83 100644 --- a/lm-coursier/src/main/scala/lmcoursier/internal/UpdateRun.scala +++ b/lm-coursier/src/main/scala/lmcoursier/internal/UpdateRun.scala @@ -2,7 +2,7 @@ package lmcoursier.internal import coursier.cache.loggers.RefreshLogger import coursier.core.Resolution.ModuleVersion -import coursier.core._ +import coursier.core.* import coursier.util.Print import sbt.librarymanagement.UpdateReport import sbt.util.Logger diff --git a/lm-coursier/src/main/scala/lmcoursier/syntax/package.scala b/lm-coursier/src/main/scala/lmcoursier/syntax/package.scala index 83ce566eb..b77df4268 100644 --- a/lm-coursier/src/main/scala/lmcoursier/syntax/package.scala +++ b/lm-coursier/src/main/scala/lmcoursier/syntax/package.scala @@ -1,8 +1,8 @@ package lmcoursier import coursier.cache.CacheDefaults -import lmcoursier.credentials._ -import lmcoursier.definitions._ +import lmcoursier.credentials.* +import lmcoursier.definitions.* import sbt.librarymanagement.{ Resolver, UpdateConfiguration } import xsbti.Logger diff --git a/lm-coursier/src/test/scala/lmcoursier/ResolutionSpec.scala b/lm-coursier/src/test/scala/lmcoursier/ResolutionSpec.scala index 30182cb60..5f17f1e3d 100644 --- a/lm-coursier/src/test/scala/lmcoursier/ResolutionSpec.scala +++ b/lm-coursier/src/test/scala/lmcoursier/ResolutionSpec.scala @@ -4,7 +4,7 @@ import org.scalatest.matchers.should.Matchers import org.scalatest.propspec.AnyPropSpec import sbt.internal.librarymanagement.cross.CrossVersionUtil import sbt.internal.util.ConsoleLogger -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.librarymanagement.Configurations.Component import sbt.librarymanagement.Resolver.{ DefaultMavenRepository, @@ -12,7 +12,7 @@ import sbt.librarymanagement.Resolver.{ JavaNet2Repository } import sbt.librarymanagement.{ Resolver, UnresolvedWarningConfiguration, UpdateConfiguration } -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.syntax.* final class ResolutionSpec extends AnyPropSpec with Matchers { diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ComponentManager.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ComponentManager.scala index 164fb4ac4..fa4cd850f 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ComponentManager.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ComponentManager.scala @@ -6,7 +6,7 @@ package sbt.internal.librarymanagement import java.io.File import java.util.concurrent.Callable import sbt.util.Logger -import sbt.librarymanagement._ +import sbt.librarymanagement.* /** * A component manager provides access to the pieces of xsbt that are distributed as components. diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ConvertResolver.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ConvertResolver.scala index c94938df9..0adba627b 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ConvertResolver.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ConvertResolver.scala @@ -24,22 +24,22 @@ import org.apache.ivy.plugins.resolver.{ SshResolver, URLResolver } -import org.apache.ivy.plugins.repository.url.{ URLRepository => URLRepo } -import org.apache.ivy.plugins.repository.file.{ FileResource, FileRepository => FileRepo } +import org.apache.ivy.plugins.repository.url.{ URLRepository as URLRepo } +import org.apache.ivy.plugins.repository.file.{ FileResource, FileRepository as FileRepo } import java.io.{ File, IOException } import java.util.Date -import org.apache.ivy.core.module.descriptor.{ Artifact => IArtifact } +import org.apache.ivy.core.module.descriptor.{ Artifact as IArtifact } import org.apache.ivy.core.module.id.ModuleRevisionId import org.apache.ivy.core.module.descriptor.DefaultArtifact import org.apache.ivy.core.report.DownloadReport import org.apache.ivy.plugins.resolver.util.{ ResolvedResource, ResourceMDParser } import org.apache.ivy.util.{ ChecksumHelper, FileUtil, Message } -import scala.jdk.CollectionConverters._ +import scala.jdk.CollectionConverters.* import sbt.internal.librarymanagement.mavenint.PomExtraDependencyAttributes import sbt.io.IO import sbt.util.Logger -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.librarymanagement.ivy.UpdateOptions private[sbt] object ConvertResolver { @@ -98,7 +98,7 @@ private[sbt] object ConvertResolver { * TODO - See about contributing back to ivy. */ private trait ChecksumFriendlyURLResolver extends RepositoryResolver { - import ChecksumFriendlyURLResolver._ + import ChecksumFriendlyURLResolver.* private def signerName: String = signerNameField match { case Some(field) => field.get(this).asInstanceOf[String] case None => null @@ -273,7 +273,7 @@ private[sbt] object ConvertResolver { */ def managedChecksumsEnabled: Boolean - import sbt.io.syntax._ + import sbt.io.syntax.* private def downloadChecksum( resource: Resource, targetChecksumFile: File, @@ -347,8 +347,8 @@ private[sbt] object ConvertResolver { resolver: AbstractSshBasedResolver, connection: SshConnection ): Unit = { - import resolver._ - import connection._ + import resolver.* + import connection.* hostname.foreach(setHost) port.foreach(setPort) authentication foreach { diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/CustomPomParser.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/CustomPomParser.scala index 05dfe690e..6e29b9e9c 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/CustomPomParser.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/CustomPomParser.scala @@ -171,7 +171,7 @@ object CustomPomParser { // The extra sbt plugin metadata in pom.xml does not need to be readable by maven, but the other information may be. // However, the pom.xml needs to be valid in all cases because other tools like repository managers may read the pom.xml. private[sbt] def getPomProperties(md: ModuleDescriptor): Map[String, String] = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* PomModuleDescriptorBuilder .extractPomProperties(md.getExtraInfo) .asInstanceOf[java.util.Map[String, String]] @@ -188,7 +188,7 @@ object CustomPomParser { properties: Map[String, String], id: ModuleRevisionId ): ModuleRevisionId = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* val oldExtra = qualifiedExtra(id) val newExtra = (oldExtra ++ properties).asJava // remove the sbt plugin cross version from the resolved ModuleRevisionId @@ -275,7 +275,7 @@ object CustomPomParser { case None => dd } - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* def addExtra( properties: Map[String, String], dependencyExtra: Map[ModuleRevisionId, Map[String, String]], diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/FakeResolver.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/FakeResolver.scala index fc2dd2463..68e3fc159 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/FakeResolver.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/FakeResolver.scala @@ -6,7 +6,7 @@ import java.net.URI import org.apache.ivy.core.cache.ArtifactOrigin import org.apache.ivy.core.cache.{ DefaultRepositoryCacheManager, RepositoryCacheManager } import org.apache.ivy.core.module.descriptor.{ - Artifact => IvyArtifact, + Artifact as IvyArtifact, DefaultArtifact, DefaultDependencyArtifactDescriptor, DefaultModuleDescriptor, @@ -24,7 +24,7 @@ import org.apache.ivy.plugins.namespace.Namespace import org.apache.ivy.plugins.resolver.{ DependencyResolver, ResolverSettings } import org.apache.ivy.plugins.resolver.util.ResolvedResource -import FakeResolver._ +import FakeResolver.* /** * A fake `DependencyResolver` that statically serves predefined artifacts. diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/Ivy.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/Ivy.scala index 7dbc001b3..336079bd1 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/Ivy.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/Ivy.scala @@ -15,7 +15,7 @@ import org.apache.ivy.core.module.descriptor.{ DefaultArtifact, DefaultDependencyArtifactDescriptor, MDArtifact, - Artifact => IArtifact + Artifact as IArtifact } import org.apache.ivy.core.module.descriptor.{ DefaultDependencyDescriptor, @@ -26,25 +26,25 @@ import org.apache.ivy.core.module.descriptor.{ } import org.apache.ivy.core.module.descriptor.OverrideDependencyDescriptorMediator import org.apache.ivy.core.module.id.{ ModuleId, ModuleRevisionId } -import org.apache.ivy.core.resolve._ +import org.apache.ivy.core.resolve.* import org.apache.ivy.core.settings.IvySettings import org.apache.ivy.core.sort.SortEngine import org.apache.ivy.plugins.matcher.PatternMatcher import org.apache.ivy.plugins.resolver.DependencyResolver import org.apache.ivy.util.{ Message, MessageLogger } import org.apache.ivy.util.extendable.ExtendableItem -import org.apache.ivy.util.url._ +import org.apache.ivy.util.url.* import scala.xml.NodeSeq import scala.collection.mutable import scala.collection.immutable.ArraySeq import scala.util.{ Success, Failure } -import sbt.util._ -import sbt.librarymanagement.{ ModuleDescriptorConfiguration => InlineConfiguration, _ } +import sbt.util.* +import sbt.librarymanagement.{ ModuleDescriptorConfiguration as InlineConfiguration, * } import sbt.librarymanagement.Platform -import sbt.librarymanagement.ivy._ -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.ivy.* +import sbt.librarymanagement.syntax.* -import IvyInternalDefaults._ +import IvyInternalDefaults.* import Resolver.PluginPattern import ivyint.{ CachedResolutionResolveCache, @@ -295,7 +295,7 @@ final class IvySbt( (baseModule, baseConfiguration) } private def configureInline(ic: InlineConfiguration, log: Logger) = { - import ic._ + import ic.* val moduleID = newConfiguredModuleID(module, moduleInfo, ic.configurations) IvySbt.setConflictManager(moduleID, conflictManager, ivy.getSettings) val defaultConf = defaultConfiguration getOrElse Configuration.of( @@ -560,7 +560,7 @@ private[sbt] object IvySbt { * Clearly, it would be better to have an explicit option in Ivy to control this. */ def hasImplicitClassifier(artifact: IArtifact): Boolean = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* artifact.getQualifiedExtraAttributes.asScala.keys .exists(_.asInstanceOf[String].startsWith("m:")) } @@ -571,9 +571,9 @@ private[sbt] object IvySbt { ): Unit = { val existing = settings.getResolverNames for (moduleConf <- moduleConfigurations) { - import moduleConf._ - import IvyPatternHelper._ - import PatternMatcher._ + import moduleConf.* + import IvyPatternHelper.* + import PatternMatcher.* if (!existing.contains(resolver.name)) settings.addResolver(ConvertResolver(resolver, settings, UpdateOptions(), log)) val attributes = javaMap( @@ -670,9 +670,9 @@ private[sbt] object IvySbt { settings.setDefaultRepositoryCacheManager(manager) } def toIvyConfiguration(configuration: Configuration) = { - import org.apache.ivy.core.module.descriptor.{ Configuration => IvyConfig } - import IvyConfig.Visibility._ - import configuration._ + import org.apache.ivy.core.module.descriptor.{ Configuration as IvyConfig } + import IvyConfig.Visibility.* + import configuration.* new IvyConfig( name, if (isPublic) PUBLIC else PRIVATE, @@ -707,7 +707,7 @@ private[sbt] object IvySbt { /** Converts the given sbt module id into an Ivy ModuleRevisionId. */ def toID(m: ModuleID) = { - import m._ + import m.* ModuleRevisionId.newInstance( organization, name, @@ -794,7 +794,7 @@ private[sbt] object IvySbt { artifact } def getExtraAttributes(revID: ExtendableItem): Map[String, String] = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* revID.getExtraAttributes.asInstanceOf[java.util.Map[String, String]].asScala.toMap } private[sbt] def extra( @@ -807,7 +807,7 @@ private[sbt] object IvySbt { javaMap(ea.extraAttributes, unqualify) } private[sbt] def javaMap(m: Map[String, String], unqualify: Boolean = false) = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* val map = if (unqualify) m map { case (k, v) => (k.stripPrefix("e:"), v) } else m if (map.isEmpty) null else map.asJava @@ -830,7 +830,7 @@ private[sbt] object IvySbt { } private def defaultInfo(module: ModuleID): scala.xml.Elem = { - import module._ + import module.* val base = branchName.fold(base) { br => base % new scala.xml.UnprefixedAttribute("branch", br, scala.xml.Null) @@ -960,7 +960,7 @@ private[sbt] object IvySbt { deps.put(id, updated) } - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* deps.values.asScala.toSeq.flatMap { dds => val mergeable = dds.lazyZip(dds.tail).forall(ivyint.MergeDescriptors.mergeable) if (mergeable) dds.reverse.reduceLeft(ivyint.MergeDescriptors.apply) :: Nil else dds diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyActions.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyActions.scala index d6069dd20..55d3dfb7c 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyActions.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyActions.scala @@ -14,17 +14,17 @@ import org.apache.ivy.core.module.descriptor.{ DefaultModuleDescriptor, MDArtifact, ModuleDescriptor, - Artifact => IArtifact + Artifact as IArtifact } import org.apache.ivy.core.resolve.ResolveOptions import org.apache.ivy.plugins.resolver.{ BasicResolver, DependencyResolver } -import org.apache.ivy.util.filter.{ Filter => IvyFilter } +import org.apache.ivy.util.filter.{ Filter as IvyFilter } import sbt.io.{ IO, PathFinder } import sbt.util.Logger -import sbt.librarymanagement.{ ModuleDescriptorConfiguration => InlineConfiguration, _ } -import syntax._ -import InternalDefaults._ -import UpdateClassifiersUtil._ +import sbt.librarymanagement.{ ModuleDescriptorConfiguration as InlineConfiguration, * } +import syntax.* +import InternalDefaults.* +import UpdateClassifiersUtil.* import sbt.internal.librarymanagement.IvyUtil.TransientNetworkException object IvyActions { @@ -303,7 +303,7 @@ object IvyActions { val resolveOptions = new ResolveOptions val resolveId = ResolveOptions.getDefaultResolveId(moduleDescriptor) val artifactFilter = getArtifactTypeFilter(updateConfiguration.artifactFilter) - import updateConfiguration._ + import updateConfiguration.* resolveOptions.setResolveId(resolveId) resolveOptions.setArtifactFilter(artifactFilter) resolveOptions.setUseCacheOnly(offline) @@ -320,7 +320,7 @@ object IvyActions { val resolveReport = ivyInstance.resolve(moduleDescriptor, resolveOptions) if (resolveReport.hasError && !missingOk) { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* // If strict error, collect report information and generated UnresolvedWarning val messages = resolveReport.getAllProblemMessages.asScala.toSeq.map(_.toString).distinct val failedPaths = resolveReport.getUnresolvedDependencies.map { node => @@ -362,7 +362,7 @@ object IvyActions { val resolveOptions = new ResolveOptions val resolveId = ResolveOptions.getDefaultResolveId(descriptor) val artifactFilter = getArtifactTypeFilter(updateConfiguration.artifactFilter) - import updateConfiguration._ + import updateConfiguration.* resolveOptions.setResolveId(resolveId) resolveOptions.setArtifactFilter(artifactFilter) resolveOptions.setUseCacheOnly(offline) diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyCache.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyCache.scala index 1184af117..467b5e161 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyCache.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyCache.scala @@ -10,13 +10,13 @@ import org.apache.ivy.core.cache.{ CacheDownloadOptions, DefaultRepositoryCacheManager } -import org.apache.ivy.core.module.descriptor.{ Artifact => IvyArtifact, DefaultArtifact } -import org.apache.ivy.plugins.repository.file.{ FileRepository => IvyFileRepository, FileResource } +import org.apache.ivy.core.module.descriptor.{ Artifact as IvyArtifact, DefaultArtifact } +import org.apache.ivy.plugins.repository.file.{ FileRepository as IvyFileRepository, FileResource } import org.apache.ivy.plugins.repository.{ ArtifactResourceResolver, Resource, ResourceDownloader } import org.apache.ivy.plugins.resolver.util.ResolvedResource import org.apache.ivy.util.FileUtil import sbt.io.Path -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.librarymanagement.ivy.{ InlineIvyConfiguration, IvyPaths } import sbt.util.Logger diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyInternalDefaults.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyInternalDefaults.scala index 59f88ffc1..0b91f6d3d 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyInternalDefaults.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyInternalDefaults.scala @@ -2,9 +2,9 @@ package sbt package internal.librarymanagement import java.io.File -import sbt.librarymanagement.ivy._ -import sbt.io.syntax._ -import xsbti.{ Logger => XLogger } +import sbt.librarymanagement.ivy.* +import sbt.io.syntax.* +import xsbti.{ Logger as XLogger } import sbt.util.Logger /** diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyRetrieve.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyRetrieve.scala index ac9e43fd5..cf1dc0552 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyRetrieve.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyRetrieve.scala @@ -4,17 +4,17 @@ package sbt.internal.librarymanagement import java.io.File -import java.{ util => ju } +import java.{ util as ju } import collection.mutable import collection.immutable.ArraySeq import org.apache.ivy.core.{ module, report, resolve } -import module.descriptor.{ Artifact => IvyArtifact, License => IvyLicense } -import module.id.{ ModuleRevisionId, ModuleId => IvyModuleId } +import module.descriptor.{ Artifact as IvyArtifact, License as IvyLicense } +import module.id.{ ModuleRevisionId, ModuleId as IvyModuleId } import report.{ ArtifactDownloadReport, ConfigurationResolveReport, ResolveReport } import resolve.{ IvyNode, IvyNodeCallers } -import IvyNodeCallers.{ Caller => IvyCaller } +import IvyNodeCallers.{ Caller as IvyCaller } import ivyint.SbtDefaultDependencyDescriptor -import sbt.librarymanagement._, syntax._ +import sbt.librarymanagement.*, syntax.* object IvyRetrieve { def reports(report: ResolveReport): Vector[ConfigurationResolveReport] = @@ -78,7 +78,7 @@ object IvyRetrieve { ): ModuleReport = { def toExtraAttributes(ea: ju.Map[?, ?]): Map[String, String] = Map(ea.entrySet.toArray collect { - case entry: ju.Map.Entry[_, _] + case entry: ju.Map.Entry[?, ?] if nonEmptyString(entry.getKey.toString).isDefined && nonEmptyString( entry.getValue.toString ).isDefined => @@ -217,7 +217,7 @@ object IvyRetrieve { .branch(nonEmptyString(revID.getBranch)) def toArtifact(art: IvyArtifact): Artifact = { - import art._ + import art.* Artifact( getName, getType, diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyScalaUtil.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyScalaUtil.scala index 9353222cd..f08f09149 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyScalaUtil.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/IvyScalaUtil.scala @@ -6,12 +6,12 @@ package sbt.internal.librarymanagement import java.util.Collections.emptyMap import scala.collection.mutable.HashSet -import org.apache.ivy.core.module.descriptor._ +import org.apache.ivy.core.module.descriptor.* import org.apache.ivy.core.module.id.{ ArtifactId, ModuleId, ModuleRevisionId } import org.apache.ivy.plugins.matcher.ExactPatternMatcher import org.apache.ivy.plugins.namespace.NamespaceTransformer import sbt.util.Logger -import sbt.librarymanagement.ScalaArtifacts._ +import sbt.librarymanagement.ScalaArtifacts.* import sbt.librarymanagement.{ Configuration, CrossVersion, ScalaModuleInfo } object IvyScalaUtil { diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/MakePom.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/MakePom.scala index dd3383085..3e12d3c71 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/MakePom.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/MakePom.scala @@ -9,14 +9,14 @@ package sbt.internal.librarymanagement import java.io.File import sbt.util.Logger -import sbt.librarymanagement._ -import Resolver._ +import sbt.librarymanagement.* +import Resolver.* import mavenint.PomExtraDependencyAttributes import scala.collection.immutable.ArraySeq // Node needs to be renamed to XNode because the task subproject contains a Node type that will shadow // scala.xml.Node when generating aggregated API documentation -import scala.xml.{ Elem, Node => XNode, NodeSeq, PrettyPrinter, PrefixedAttribute } +import scala.xml.{ Elem, Node as XNode, NodeSeq, PrettyPrinter, PrefixedAttribute } import Configurations.Optional import org.apache.ivy.Ivy @@ -42,7 +42,7 @@ object MakePom { VersionRange.fromIvyToMavenVersion(revision) } class MakePom(val log: Logger) { - import MakePom._ + import MakePom.* def write( ivy: Ivy, module: ModuleDescriptor, @@ -409,7 +409,7 @@ class MakePom(val log: Logger) { // cast the contents of a pre-generics collection private def castResolvers(s: java.util.Collection[?]): Seq[DependencyResolver] = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* s.asScala.toSeq.map(_.asInstanceOf[DependencyResolver]) } diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ProjectResolver.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ProjectResolver.scala index b7f63c10a..18a1810bb 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ProjectResolver.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ProjectResolver.scala @@ -11,7 +11,7 @@ import cache.ArtifactOrigin import search.{ ModuleEntry, OrganisationEntry, RevisionEntry } import module.id.ModuleRevisionId import module.descriptor.{ - Artifact => IArtifact, + Artifact as IArtifact, DefaultArtifact, DependencyDescriptor, ModuleDescriptor diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ResolutionCache.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ResolutionCache.scala index adc887da0..940098595 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ResolutionCache.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ResolutionCache.scala @@ -11,7 +11,7 @@ import core.module.descriptor.ModuleDescriptor import ResolutionCache.{ Name, ReportDirectory, ResolvedName, ResolvedPattern } import parser.xml.XmlModuleDescriptorParser import sbt.io.IO -import sbt.librarymanagement._ +import sbt.librarymanagement.* /** * Replaces the standard Ivy resolution cache in order to: diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/CachedResolutionResolveEngine.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/CachedResolutionResolveEngine.scala index aedd08d83..4bc793a2a 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/CachedResolutionResolveEngine.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/CachedResolutionResolveEngine.scala @@ -9,27 +9,27 @@ import collection.mutable import collection.immutable.ListMap import org.apache.ivy.Ivy import org.apache.ivy.core -import core.resolve._ -import core.module.id.{ ModuleRevisionId, ModuleId => IvyModuleId } +import core.resolve.* +import core.module.id.{ ModuleRevisionId, ModuleId as IvyModuleId } import core.report.ResolveReport import core.module.descriptor.{ DefaultModuleDescriptor, ModuleDescriptor, DefaultDependencyDescriptor, DependencyDescriptor, - Configuration => IvyConfiguration, + Configuration as IvyConfiguration, ExcludeRule, IncludeRule } import core.module.descriptor.{ OverrideDependencyDescriptorMediator, DependencyArtifactDescriptor } import core.IvyPatternHelper import org.apache.ivy.util.{ Message, MessageLogger } -import org.apache.ivy.plugins.latest.{ ArtifactInfo => IvyArtifactInfo } +import org.apache.ivy.plugins.latest.{ ArtifactInfo as IvyArtifactInfo } import org.apache.ivy.plugins.matcher.{ MapMatcher, PatternMatcher } import annotation.tailrec -import scala.concurrent.duration._ +import scala.concurrent.duration.* import sbt.io.{ DirectoryFilter, Hash, IO } -import sbt.librarymanagement._, syntax._ +import sbt.librarymanagement.*, syntax.* import sbt.util.Logger private[sbt] object CachedResolutionResolveCache { @@ -46,7 +46,7 @@ private[sbt] object CachedResolutionResolveCache { } private[sbt] class CachedResolutionResolveCache { - import CachedResolutionResolveCache._ + import CachedResolutionResolveCache.* val updateReportCache: concurrent.Map[ModuleRevisionId, Either[ResolveException, UpdateReport]] = concurrent.TrieMap() // Used for subproject @@ -158,7 +158,7 @@ private[sbt] class CachedResolutionResolveCache { (md1, IvySbt.isChanging(dd) || internalDependency(dd, prOpt).isDefined, dd) } def extractOverrides(md0: ModuleDescriptor): Vector[IvyOverride] = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* md0.getAllDependencyDescriptorMediators.getAllRules.asScala.toVector sortBy { case (k, _) => k.toString } collect { case (k: MapMatcher, v: OverrideDependencyDescriptorMediator) => @@ -181,7 +181,7 @@ private[sbt] class CachedResolutionResolveCache { )( f: => Either[ResolveException, UpdateReport] ): Either[ResolveException, UpdateReport] = { - import sbt.io.syntax._ + import sbt.io.syntax.* val mrid = md.getResolvedModuleRevisionId def extraPath(id: ModuleRevisionId, key: String, pattern: String): String = Option(id.getExtraAttribute(key)).fold(".")(pattern.format(_)) // "." has no affect on paths @@ -369,7 +369,7 @@ private[sbt] trait CachedResolutionResolveEngine extends ResolveEngine { md0.getModuleRevisionId, logicalClock ) { - import sbt.io.syntax._ + import sbt.io.syntax.* val start = System.currentTimeMillis val miniGraphPath = depDir / "module" val cachedDescriptor = @@ -397,7 +397,7 @@ private[sbt] trait CachedResolutionResolveEngine extends ResolveEngine { doWorkUsingIvy(md) } def doWorkUsingIvy(md: ModuleDescriptor): Either[ResolveException, UpdateReport] = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* val options1 = new ResolveOptions(options0) val rr = withIvy(log) { ivy => ivy.resolve(md, options1) diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/CustomMavenResolver.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/CustomMavenResolver.scala index 788b8f1e8..ca171a930 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/CustomMavenResolver.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/CustomMavenResolver.scala @@ -2,7 +2,7 @@ package sbt.internal.librarymanagement package ivyint import org.apache.ivy.plugins.resolver.DependencyResolver -import sbt.librarymanagement._ +import sbt.librarymanagement.* // These are placeholder traits for sbt-aether-resolver trait CustomMavenResolver extends DependencyResolver {} diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/IvyCredentialsLookup.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/IvyCredentialsLookup.scala index 9630e3258..54f2d07d3 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/IvyCredentialsLookup.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/IvyCredentialsLookup.scala @@ -2,7 +2,7 @@ package sbt.internal.librarymanagement package ivyint import org.apache.ivy.util.url.CredentialsStore -import scala.jdk.CollectionConverters._ +import scala.jdk.CollectionConverters.* /** A key used to store credentials in the ivy credentials store. */ private[sbt] sealed trait CredentialKey diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/ParallelResolveEngine.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/ParallelResolveEngine.scala index a8fd3776c..fb154a9a2 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/ParallelResolveEngine.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/ParallelResolveEngine.scala @@ -5,8 +5,8 @@ import java.util.concurrent.Executors import org.apache.ivy.core.event.EventManager import org.apache.ivy.core.event.download.PrepareDownloadEvent import org.apache.ivy.core.module.descriptor.Artifact -import org.apache.ivy.core.report._ -import org.apache.ivy.core.resolve._ +import org.apache.ivy.core.report.* +import org.apache.ivy.core.resolve.* import org.apache.ivy.core.sort.SortEngine import org.apache.ivy.util.filter.Filter @@ -40,7 +40,7 @@ private[sbt] class ParallelResolveEngine( artifactFilter: Filter, options: DownloadOptions ): Unit = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* val start = System.currentTimeMillis report.getArtifacts match { case typed: java.util.List[Artifact @unchecked] => diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/SbtChainResolver.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/SbtChainResolver.scala index b845311a5..96558b6b0 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/SbtChainResolver.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/SbtChainResolver.scala @@ -11,16 +11,16 @@ import org.apache.ivy.core.{ IvyContext, LogOptions } import org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor import org.apache.ivy.core.module.descriptor.DependencyDescriptor import org.apache.ivy.core.module.descriptor.ModuleDescriptor -import org.apache.ivy.core.module.descriptor.{ Artifact => IArtifact } +import org.apache.ivy.core.module.descriptor.{ Artifact as IArtifact } import org.apache.ivy.core.resolve.{ ResolveData, ResolvedModuleRevision } import org.apache.ivy.plugins.latest.LatestStrategy -import org.apache.ivy.plugins.repository.file.{ FileResource, FileRepository => IFileRepository } +import org.apache.ivy.plugins.repository.file.{ FileResource, FileRepository as IFileRepository } import org.apache.ivy.plugins.repository.url.URLResource -import org.apache.ivy.plugins.resolver._ +import org.apache.ivy.plugins.resolver.* import org.apache.ivy.plugins.resolver.util.{ HasLatestStrategy, ResolvedResource } -import org.apache.ivy.util.{ Message, StringUtils => IvyStringUtils } +import org.apache.ivy.util.{ Message, StringUtils as IvyStringUtils } import sbt.util.Logger -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.librarymanagement.ivy.UpdateOptions import scala.util.control.NonFatal diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/SbtDefaultDependencyDescriptor.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/SbtDefaultDependencyDescriptor.scala index f4f281a50..bb7eca9ee 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/SbtDefaultDependencyDescriptor.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/ivyint/SbtDefaultDependencyDescriptor.scala @@ -3,7 +3,7 @@ package ivyint import org.apache.ivy.core import core.module.descriptor.DefaultDependencyDescriptor -import sbt.librarymanagement._ +import sbt.librarymanagement.* trait SbtDefaultDependencyDescriptor { self: DefaultDependencyDescriptor => def dependencyModuleId: ModuleID diff --git a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/mavenint/PomExtraDependencyAttributes.scala b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/mavenint/PomExtraDependencyAttributes.scala index 7f1ea894e..87ade59d6 100644 --- a/lm-ivy/src/main/scala/sbt/internal/librarymanagement/mavenint/PomExtraDependencyAttributes.scala +++ b/lm-ivy/src/main/scala/sbt/internal/librarymanagement/mavenint/PomExtraDependencyAttributes.scala @@ -36,7 +36,7 @@ object PomExtraDependencyAttributes { def readFromAether( props: java.util.Map[String, AnyRef] ): Map[ModuleRevisionId, Map[String, String]] = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* (props.asScala get ExtraAttributesKey) match { case None => Map.empty case Some(str) => @@ -75,7 +75,7 @@ object PomExtraDependencyAttributes { } def qualifiedExtra(item: ExtendableItem): Map[String, String] = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* item.getQualifiedExtraAttributes.asInstanceOf[java.util.Map[String, String]].asScala.toMap } def filterCustomExtra(item: ExtendableItem, include: Boolean): Map[String, String] = @@ -88,7 +88,7 @@ object PomExtraDependencyAttributes { // This makes the id suitable as a key to associate a dependency parsed from a element // with the extra attributes from the section def simplify(id: ModuleRevisionId): ModuleRevisionId = { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* ModuleRevisionId.newInstance( id.getOrganisation, id.getName, @@ -118,7 +118,7 @@ object PomExtraDependencyAttributes { if (filteredExtra.isEmpty) Nil else { - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* val revId0 = ModuleRevisionId.newInstance( revId.getOrganisation, revId.getName, diff --git a/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/Credentials.scala b/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/Credentials.scala index 905021a2c..694e48dbc 100644 --- a/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/Credentials.scala +++ b/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/Credentials.scala @@ -67,7 +67,7 @@ object Credentials { private val UserKeys = List("user", "user.name", "username") private val PasswordKeys = List("password", "pwd", "pass", "passwd") - import scala.jdk.CollectionConverters._ + import scala.jdk.CollectionConverters.* private def read(from: File): Map[String, String] = { val properties = new java.util.Properties IO.load(properties, from) diff --git a/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/IvyDependencyResolution.scala b/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/IvyDependencyResolution.scala index eaa4c0165..f15c265a6 100644 --- a/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/IvyDependencyResolution.scala +++ b/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/IvyDependencyResolution.scala @@ -2,7 +2,7 @@ package sbt package librarymanagement package ivy -import sbt.internal.librarymanagement._ +import sbt.internal.librarymanagement.* import sbt.util.Logger class IvyDependencyResolution private[sbt] (val ivySbt: IvySbt) diff --git a/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/IvyPublisher.scala b/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/IvyPublisher.scala index ad49c218f..1333cc2ac 100644 --- a/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/IvyPublisher.scala +++ b/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/IvyPublisher.scala @@ -2,7 +2,7 @@ package sbt package librarymanagement package ivy -import sbt.internal.librarymanagement._ +import sbt.internal.librarymanagement.* import sbt.util.Logger import java.io.File diff --git a/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/formats/UpdateOptionsFormat.scala b/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/formats/UpdateOptionsFormat.scala index 52561bd5d..31e97f8d9 100644 --- a/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/formats/UpdateOptionsFormat.scala +++ b/lm-ivy/src/main/scala/sbt/librarymanagement/ivy/formats/UpdateOptionsFormat.scala @@ -1,8 +1,8 @@ package sbt.librarymanagement.ivy package formats -import sjsonnew._ -import sbt.librarymanagement._ +import sjsonnew.* +import sbt.librarymanagement.* trait UpdateOptionsFormat { self: BasicJsonProtocol & ModuleIDFormats & ResolverFormats & @@ -23,7 +23,7 @@ trait UpdateOptionsFormat { /* This is necessary to serialize/deserialize `directResolvers`. */ private given moduleIdJsonKeyFormat: sjsonnew.JsonKeyFormat[ModuleID] = { new sjsonnew.JsonKeyFormat[ModuleID] { - import sjsonnew.support.scalajson.unsafe._ + import sjsonnew.support.scalajson.unsafe.* val moduleIdFormat: JsonFormat[ModuleID] = implicitly[JsonFormat[ModuleID]] def write(key: ModuleID): String = CompactPrinter(Converter.toJsonUnsafe(key)(moduleIdFormat)) diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/AbstractEngineSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/AbstractEngineSpec.scala index 55089330d..9d6e66f3f 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/AbstractEngineSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/AbstractEngineSpec.scala @@ -1,6 +1,6 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ +import sbt.librarymanagement.* import verify.BasicTestSuite abstract class AbstractEngineSpec extends BasicTestSuite { diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/BaseCachedResolutionSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/BaseCachedResolutionSpec.scala index 53ad0ba09..45f5cef9d 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/BaseCachedResolutionSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/BaseCachedResolutionSpec.scala @@ -1,7 +1,7 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ -import sbt.librarymanagement.ivy._ +import sbt.librarymanagement.* +import sbt.librarymanagement.ivy.* trait BaseCachedResolutionSpec extends BaseIvySpecification { override def module( diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/BaseIvySpecification.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/BaseIvySpecification.scala index b37fbe886..25822ee79 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/BaseIvySpecification.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/BaseIvySpecification.scala @@ -1,13 +1,13 @@ package sbt.internal.librarymanagement import sbt.io.IO -import sbt.io.syntax._ +import sbt.io.syntax.* import java.io.File import sbt.internal.util.ConsoleLogger -import sbt.librarymanagement._ -import sbt.librarymanagement.ivy._ +import sbt.librarymanagement.* +import sbt.librarymanagement.ivy.* import cross.CrossVersionUtil -import Configurations._ +import Configurations.* trait BaseIvySpecification extends AbstractEngineSpec { def currentBase: File = new File(".") diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/CachedResolutionSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/CachedResolutionSpec.scala index dbb23fbe0..64d38e5f4 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/CachedResolutionSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/CachedResolutionSpec.scala @@ -1,6 +1,6 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ +import sbt.librarymanagement.* class CachedResolutionSpec extends ResolutionSpec with BaseCachedResolutionSpec { override val resolvers = Vector( diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ConflictWarningSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ConflictWarningSpec.scala index bc3f05ebc..ec08131e2 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ConflictWarningSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ConflictWarningSpec.scala @@ -1,7 +1,7 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.* +import sbt.librarymanagement.syntax.* object ConflictWarningSpec extends BaseIvySpecification { diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/CustomPomParserTest.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/CustomPomParserTest.scala index e9d5e8271..20a842e3a 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/CustomPomParserTest.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/CustomPomParserTest.scala @@ -1,10 +1,10 @@ package sbt.internal.librarymanagement import java.io.File -import org.apache.ivy.core.module.descriptor.{ Artifact => IvyArtifact } +import org.apache.ivy.core.module.descriptor.{ Artifact as IvyArtifact } import org.apache.ivy.core.module.id.ModuleRevisionId import org.apache.ivy.core.resolve.ResolveOptions -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.librarymanagement.ivy.{ InlineIvyConfiguration, IvyPaths } import sbt.io.IO.withTemporaryDirectory import sbt.internal.util.ConsoleLogger diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/DMSerializationSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/DMSerializationSpec.scala index b9ea8f53a..b207cf1ec 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/DMSerializationSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/DMSerializationSpec.scala @@ -3,9 +3,9 @@ package sbt.internal.librarymanagement import java.net.URI import java.io.File -import sbt.librarymanagement._ -import sjsonnew.shaded.scalajson.ast.unsafe._ -import sjsonnew._, support.scalajson.unsafe._ +import sbt.librarymanagement.* +import sjsonnew.shaded.scalajson.ast.unsafe.* +import sjsonnew.*, support.scalajson.unsafe.* import LibraryManagementCodec.given import verify.BasicTestSuite diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/EvictionErrorSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/EvictionErrorSpec.scala index 1cb41c0c9..f8adb5c2f 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/EvictionErrorSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/EvictionErrorSpec.scala @@ -1,8 +1,8 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.internal.librarymanagement.cross.CrossVersionUtil -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.syntax.* import sbt.util.Level object EvictionErrorSpec extends BaseIvySpecification { diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/EvictionWarningSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/EvictionWarningSpec.scala index 62777627b..ac4585279 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/EvictionWarningSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/EvictionWarningSpec.scala @@ -1,8 +1,8 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.internal.librarymanagement.cross.CrossVersionUtil -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.syntax.* object EvictionWarningSpec extends BaseIvySpecification { // This is a specification to check the eviction warnings diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/FakeResolverSpecification.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/FakeResolverSpecification.scala index 6ed8f1d7a..672a3b58a 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/FakeResolverSpecification.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/FakeResolverSpecification.scala @@ -7,7 +7,7 @@ import java.io.File import sbt.librarymanagement.{ ModuleID, RawRepository, Resolver, UpdateReport, ResolveException } object FakeResolverSpecification extends BaseIvySpecification { - import FakeResolver._ + import FakeResolver.* val myModule = ModuleID("org.example", "my-module", "0.0.1-SNAPSHOT").withConfigurations(Some("compile")) diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/FrozenModeSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/FrozenModeSpec.scala index 7186fd68b..5e0332787 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/FrozenModeSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/FrozenModeSpec.scala @@ -1,8 +1,8 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.librarymanagement.ivy.UpdateOptions -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.syntax.* object FrozenModeSpec extends BaseIvySpecification { private final val targetDir = Some(currentDependency) diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/InclExclSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/InclExclSpec.scala index 7305a2ddc..7641dfa77 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/InclExclSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/InclExclSpec.scala @@ -1,7 +1,7 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.* +import sbt.librarymanagement.syntax.* import DependencyBuilders.OrganizationArtifactName object InclExclSpec extends BaseIvySpecification { diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/InconsistentDuplicateSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/InconsistentDuplicateSpec.scala index a4465e58b..b30c25809 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/InconsistentDuplicateSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/InconsistentDuplicateSpec.scala @@ -1,6 +1,6 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ +import sbt.librarymanagement.* import verify.BasicTestSuite // This is a specification to check the inconsistent duplicate warnings diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyRepoSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyRepoSpec.scala index fef1ba6f0..73140daab 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyRepoSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyRepoSpec.scala @@ -1,9 +1,9 @@ package sbt.internal.librarymanagement import org.scalatest.Inside -import sbt.librarymanagement._ -import sbt.librarymanagement.syntax._ -import InternalDefaults._ +import sbt.librarymanagement.* +import sbt.librarymanagement.syntax.* +import InternalDefaults.* object IvyRepoSpec extends BaseIvySpecification { @@ -30,7 +30,7 @@ object IvyRepoSpec extends BaseIvySpecification { val report = ivyUpdate(m) - import Inside._ + import Inside.* inside(report.configuration(ConfigRef("compile")).map(_.modules)) { case Some(Seq(mr)) => inside(mr.artifacts) { case Seq((ar, _)) => assert(ar.`type` == "jar") @@ -86,7 +86,7 @@ object IvyRepoSpec extends BaseIvySpecification { .updateClassifiers(gcm, UnresolvedWarningConfiguration(), Vector(), log) .fold(e => throw e.resolveException, identity) - import Inside._ + import Inside.* inside(report2.configuration(ConfigRef("compile")).map(_.modules)) { case Some(Seq(mr)) => inside(mr.artifacts) { case Seq((ar, _)) => assert(ar.name == "libmodule-source") diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyResolutionSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyResolutionSpec.scala index d94c276e3..429de4fa3 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyResolutionSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyResolutionSpec.scala @@ -1,6 +1,6 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ +import sbt.librarymanagement.* class IvyResolutionSpec extends ResolutionSpec with BaseIvySpecification { override val resolvers = Vector( diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyUtilSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyUtilSpec.scala index 7b000ae45..41b3b2adf 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyUtilSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/IvyUtilSpec.scala @@ -3,7 +3,7 @@ package sbt.internal.librarymanagement import java.io.IOException import org.scalatest.funsuite.AnyFunSuite -import sbt.internal.librarymanagement.IvyUtil._ +import sbt.internal.librarymanagement.IvyUtil.* class IvyUtilSpec extends AnyFunSuite { test("503 should be a TransientNetworkException") { diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ManagedChecksumsSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ManagedChecksumsSpec.scala index df8241a2c..48519c14c 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ManagedChecksumsSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ManagedChecksumsSpec.scala @@ -1,8 +1,8 @@ package sbt.internal.librarymanagement import org.apache.ivy.util.Message -import sbt.librarymanagement._ -import sbt.librarymanagement.ivy._ +import sbt.librarymanagement.* +import sbt.librarymanagement.ivy.* import sbt.io.IO object ManagedChecksumsSpec extends BaseIvySpecification { @@ -17,7 +17,7 @@ object ManagedChecksumsSpec extends BaseIvySpecification { final def dependencies: Vector[ModuleID] = Vector(avro177, dataAvro1940, netty320).map(_.withConfigurations(Some("compile"))) - import sbt.io.syntax._ + import sbt.io.syntax.* override def mkIvyConfiguration(uo: UpdateOptions): IvyConfiguration = { val moduleConfs = Vector(ModuleConfiguration("*", chainResolver)) val resCacheDir = currentTarget / "resolution-cache" diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/MergeDescriptorSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/MergeDescriptorSpec.scala index 780613096..f9e648823 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/MergeDescriptorSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/MergeDescriptorSpec.scala @@ -1,9 +1,9 @@ package sbt.internal.librarymanagement import org.apache.ivy.core.module.descriptor.DependencyArtifactDescriptor -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.librarymanagement.ivy.UpdateOptions -import sbt.internal.librarymanagement.ivyint._ +import sbt.internal.librarymanagement.ivyint.* object MergeDescriptorSpec extends BaseIvySpecification { test("Merging duplicate dependencies should work") { diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ModuleResolversTest.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ModuleResolversTest.scala index 295fe9758..86030186b 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ModuleResolversTest.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ModuleResolversTest.scala @@ -1,7 +1,7 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.* +import sbt.librarymanagement.syntax.* import sbt.librarymanagement.ivy.UpdateOptions object ModuleResolversTest extends BaseIvySpecification { diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/OfflineModeSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/OfflineModeSpec.scala index 04484931e..3ab485acb 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/OfflineModeSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/OfflineModeSpec.scala @@ -1,6 +1,6 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement._ +import sbt.librarymanagement.* import sbt.librarymanagement.ivy.UpdateOptions import sbt.io.IO diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ResolutionSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ResolutionSpec.scala index e63abe26d..68154757a 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ResolutionSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ResolutionSpec.scala @@ -1,8 +1,8 @@ package sbt.internal.librarymanagement import sbt.util.ShowLines -import sbt.librarymanagement._ -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.* +import sbt.librarymanagement.syntax.* abstract class ResolutionSpec extends AbstractEngineSpec { diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ResolverSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ResolverSpec.scala index 40e90c134..336e83e1d 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ResolverSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/ResolverSpec.scala @@ -1,8 +1,8 @@ package sbttest import java.net.URI -import sbt.librarymanagement._ -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.* +import sbt.librarymanagement.syntax.* import verify.BasicTestSuite class ResolverSpec extends BasicTestSuite { diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/SftpRepoSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/SftpRepoSpec.scala index c131e2900..e69b4df3b 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/SftpRepoSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/SftpRepoSpec.scala @@ -1,10 +1,10 @@ package sbt.internal.librarymanagement -import sbt.io._ -import sbt.io.syntax._ +import sbt.io.* +import sbt.io.syntax.* import sbt.util.Level -import sbt.librarymanagement._ -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.* +import sbt.librarymanagement.syntax.* import java.nio.file.Paths //by default this test is ignored diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/TestLogger.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/TestLogger.scala index e3cd17d3c..49f8601c8 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/TestLogger.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/TestLogger.scala @@ -2,8 +2,8 @@ package sbt package internal package librarymanagement -import sbt.util._ -import sbt.internal.util._ +import sbt.util.* +import sbt.internal.util.* object TestLogger { def apply[T](f: Logger => T): T = { diff --git a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/UpdateOptionsSpec.scala b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/UpdateOptionsSpec.scala index 5729bd06e..a3b51d15c 100644 --- a/lm-ivy/src/test/scala/sbt/internal/librarymanagement/UpdateOptionsSpec.scala +++ b/lm-ivy/src/test/scala/sbt/internal/librarymanagement/UpdateOptionsSpec.scala @@ -1,6 +1,6 @@ package sbt.internal.librarymanagement -import sbt.librarymanagement.ivy._ +import sbt.librarymanagement.ivy.* import verify.BasicTestSuite class UpdateOptionsSpec extends BasicTestSuite { diff --git a/main-actions/src/main/scala/sbt/ForkTests.scala b/main-actions/src/main/scala/sbt/ForkTests.scala index 1aefe1e5e..677be9e07 100755 --- a/main-actions/src/main/scala/sbt/ForkTests.scala +++ b/main-actions/src/main/scala/sbt/ForkTests.scala @@ -9,17 +9,17 @@ package sbt import scala.collection.mutable -import testing.{ Logger => _, Task => _, _ } +import testing.{ Logger as _, Task as _, * } import scala.util.control.NonFatal import java.net.ServerSocket -import java.io._ -import Tests.{ Output => TestOutput, _ } +import java.io.* +import Tests.{ Output as TestOutput, * } import sbt.io.IO import sbt.util.Logger import sbt.ConcurrentRestrictions.Tag -import sbt.protocol.testing._ +import sbt.protocol.testing.* import sbt.internal.util.Util.* -import sbt.internal.util.{ Terminal => UTerminal } +import sbt.internal.util.{ Terminal as UTerminal } import xsbti.{ FileConverter, HashedVirtualFileRef } private[sbt] object ForkTests { @@ -33,7 +33,7 @@ private[sbt] object ForkTests { log: Logger, tags: (Tag, Int)* ): Task[TestOutput] = { - import std.TaskExtra._ + import std.TaskExtra.* val dummyLoader = this.getClass.getClassLoader // can't provide the loader for test classes, which is in another jvm def all(work: Seq[ClassLoader => Unit]) = work.fork(f => f(dummyLoader)) @@ -142,7 +142,7 @@ private[sbt] object ForkTests { } catch { case NonFatal(e) => def throwableToString(t: Throwable) = { - import java.io._; val sw = new StringWriter; t.printStackTrace(new PrintWriter(sw)); + import java.io.*; val sw = new StringWriter; t.printStackTrace(new PrintWriter(sw)); sw.toString } resultsAcc("Forked test harness failed: " + throwableToString(e)) = SuiteResult.Error @@ -205,7 +205,7 @@ private final class React( listeners: Seq[TestReportListener], results: mutable.Map[String, SuiteResult] ) { - import ForkTags._ + import ForkTags.* @annotation.tailrec def react(): Unit = is.readObject match { case `Done` => diff --git a/main-actions/src/main/scala/sbt/Pkg.scala b/main-actions/src/main/scala/sbt/Pkg.scala index 1456e47c9..f137c7851 100644 --- a/main-actions/src/main/scala/sbt/Pkg.scala +++ b/main-actions/src/main/scala/sbt/Pkg.scala @@ -26,7 +26,7 @@ import sjsonnew.{ } import sbt.util.Logger -import sbt.util.CacheImplicits._ +import sbt.util.CacheImplicits.* import scala.sys.process.Process import xsbti.{ FileConverter, HashedVirtualFileRef, VirtualFile, VirtualFileRef } @@ -169,8 +169,8 @@ object Pkg: case PackageOption.JarManifest(mergeManifest) => mergeManifests(manifest, mergeManifest) case PackageOption.MainClass(mainClassName) => main.put(Attributes.Name.MAIN_CLASS, mainClassName) - case PackageOption.ManifestAttributes(attributes @ _*) => main.asScala ++= attributes - case PackageOption.FixedTimestamp(value) => () + case PackageOption.ManifestAttributes(attributes*) => main.asScala ++= attributes + case PackageOption.FixedTimestamp(value) => () setVersion(main) manifest @@ -187,7 +187,7 @@ object Pkg: } } def addSpecManifestAttributes(name: String, version: String, orgName: String): PackageOption = { - import Attributes.Name._ + import Attributes.Name.* val attribKeys = Seq(SPECIFICATION_TITLE, SPECIFICATION_VERSION, SPECIFICATION_VENDOR) val attribVals = Seq(name, version, orgName) PackageOption.ManifestAttributes(attribKeys.zip(attribVals)*) @@ -199,7 +199,7 @@ object Pkg: org: String, orgName: String ): PackageOption = { - import Attributes.Name._ + import Attributes.Name.* // The ones in Attributes.Name are deprecated saying: // "Extension mechanism will be removed in a future release. Use class path instead." diff --git a/main-actions/src/main/scala/sbt/RawCompileLike.scala b/main-actions/src/main/scala/sbt/RawCompileLike.scala index 16bec5ded..08893dc2b 100644 --- a/main-actions/src/main/scala/sbt/RawCompileLike.scala +++ b/main-actions/src/main/scala/sbt/RawCompileLike.scala @@ -10,10 +10,10 @@ package sbt import scala.annotation.tailrec import java.io.File -import sbt.io.syntax._ +import sbt.io.syntax.* import sbt.io.IO import sbt.internal.inc.{ RawCompiler, ScalaInstance } -import sbt.util.CacheImplicits._ +import sbt.util.CacheImplicits.* import sbt.util.Tracked.inputChanged import sbt.util.{ CacheStoreFactory, FilesInfo, HashFileInfo, ModifiedFileInfo, PlainFileInfo } import sbt.util.FileInfo.{ exists, hash, lastModified } @@ -27,7 +27,7 @@ object RawCompileLike { @tailrec def loop(opt: List[String], result: List[File]): List[File] = { opt.dropWhile(!fileInputOpts.contains(_)) match { - case List(_, fileOpt, tail @ _*) => { + case List(_, fileOpt, tail*) => { val file = new File(fileOpt) if (file.isFile) loop(tail.toList, file :: result) else loop(tail.toList, result) diff --git a/main-actions/src/main/scala/sbt/Sync.scala b/main-actions/src/main/scala/sbt/Sync.scala index 6affcd96c..063169a17 100644 --- a/main-actions/src/main/scala/sbt/Sync.scala +++ b/main-actions/src/main/scala/sbt/Sync.scala @@ -14,7 +14,7 @@ import java.util.zip.ZipException import sbt.internal.inc.MappedFileConverter import sbt.internal.util.Relation import sbt.internal.io.TranslatedException -import sbt.util.CacheImplicits._ +import sbt.util.CacheImplicits.* import sbt.util.{ CacheStore, FileInfo } import sbt.io.IO import sjsonnew.{ diff --git a/main-actions/src/main/scala/sbt/Tests.scala b/main-actions/src/main/scala/sbt/Tests.scala index d1051be52..db0d2d9ff 100644 --- a/main-actions/src/main/scala/sbt/Tests.scala +++ b/main-actions/src/main/scala/sbt/Tests.scala @@ -8,10 +8,10 @@ package sbt -import std._ +import std.* import xsbt.api.{ Discovered, Discovery } import sbt.internal.inc.Analysis -import TaskExtra._ +import TaskExtra.* import sbt.internal.Action import sbt.internal.util.FeedbackProvidedException import xsbti.api.Definition @@ -27,7 +27,7 @@ import testing.{ SubclassFingerprint, SuiteSelector, TaskDef, - Task => TestTask + Task as TestTask } import scala.annotation.tailrec diff --git a/main-actions/src/test/scala/sbt/CacheIvyTest.scala b/main-actions/src/test/scala/sbt/CacheIvyTest.scala index 1c993f6b8..64ebe5507 100644 --- a/main-actions/src/test/scala/sbt/CacheIvyTest.scala +++ b/main-actions/src/test/scala/sbt/CacheIvyTest.scala @@ -8,17 +8,17 @@ package sbt -import org.scalacheck._ -import org.scalacheck.Arbitrary._ -import Prop._ -import sbt.librarymanagement._ +import org.scalacheck.* +import org.scalacheck.Arbitrary.* +import Prop.* +import sbt.librarymanagement.* import sjsonnew.shaded.scalajson.ast.unsafe.JValue class CacheIvyTest extends Properties("CacheIvy") { import sbt.util.{ CacheStore, SingletonCache } import SingletonCache.given - import sjsonnew._ + import sjsonnew.* import sjsonnew.support.scalajson.unsafe.Converter private class InMemoryStore(converter: SupportConverter[JValue]) extends CacheStore { @@ -116,7 +116,7 @@ class CacheIvyTest extends Properties("CacheIvy") { property("moduleIDFormat") = forAll { (m: ModuleID) => def str(m: ModuleID) = { - import m._ + import m.* s"ModuleID($organization, ${m.name}, $revision, $configurations, $isChanging, $isTransitive, $isForce, $explicitArtifacts, $exclusions, " + s"$inclusions, $extraAttributes, $crossVersion, $branchName)" } @@ -130,7 +130,7 @@ class CacheIvyTest extends Properties("CacheIvy") { } } - import sbt.librarymanagement.LibraryManagementCodec._ + import sbt.librarymanagement.LibraryManagementCodec.* cachePreservesEquality(m, eq, str) } } diff --git a/main-command/src/main/scala/sbt/BasicCommands.scala b/main-command/src/main/scala/sbt/BasicCommands.scala index 8b320c3f4..e5d6ae8bd 100644 --- a/main-command/src/main/scala/sbt/BasicCommands.scala +++ b/main-command/src/main/scala/sbt/BasicCommands.scala @@ -19,19 +19,19 @@ import sbt.internal.util.complete.{ HistoryCommands, Parser, TokenCompletions, - History => CHistory + History as CHistory } import sbt.internal.util.Types.{ const, idFun } import sbt.internal.util.Util.* import sbt.internal.inc.classpath.ClasspathUtil.toLoader import sbt.internal.inc.ModuleUtilities import sbt.internal.client.NetworkClient -import DefaultParsers._ +import DefaultParsers.* import Command.applyEffect -import BasicCommandStrings._ -import CommandUtil._ -import BasicKeys._ +import BasicCommandStrings.* +import CommandUtil.* +import BasicKeys.* import java.io.File import sbt.io.IO diff --git a/main-command/src/main/scala/sbt/BasicKeys.scala b/main-command/src/main/scala/sbt/BasicKeys.scala index 9e18a97da..dc95e88a4 100644 --- a/main-command/src/main/scala/sbt/BasicKeys.scala +++ b/main-command/src/main/scala/sbt/BasicKeys.scala @@ -10,7 +10,7 @@ package sbt import java.io.File import java.nio.file.Path -import sbt.internal.inc.classpath.{ ClassLoaderCache => IncClassLoaderCache } +import sbt.internal.inc.classpath.{ ClassLoaderCache as IncClassLoaderCache } import sbt.internal.classpath.ClassLoaderCache import sbt.internal.server.ServerHandler import sbt.internal.util.AttributeKey diff --git a/main-command/src/main/scala/sbt/Command.scala b/main-command/src/main/scala/sbt/Command.scala index b76b3f27a..eed78d629 100644 --- a/main-command/src/main/scala/sbt/Command.scala +++ b/main-command/src/main/scala/sbt/Command.scala @@ -278,7 +278,7 @@ object Help { def briefOnly(help: Seq[(String, String)]): Help = apply(help, Map.empty[String, String]) def detailOnly(help: Seq[(String, String)]): Help = apply(Nil, help.toMap) - import CommandUtil._ + import CommandUtil.* def message(h: Help, arg: Option[String]): String = arg match { diff --git a/main-command/src/main/scala/sbt/CommandUtil.scala b/main-command/src/main/scala/sbt/CommandUtil.scala index d05d21951..ff3504031 100644 --- a/main-command/src/main/scala/sbt/CommandUtil.scala +++ b/main-command/src/main/scala/sbt/CommandUtil.scala @@ -13,11 +13,11 @@ import java.util.regex.{ Pattern, PatternSyntaxException } import sbt.internal.util.AttributeKey import sbt.internal.util.complete.Parser -import sbt.internal.util.complete.DefaultParsers._ +import sbt.internal.util.complete.DefaultParsers.* import sbt.internal.util.Util.nilSeq import sbt.io.IO -import sbt.io.syntax._ +import sbt.io.syntax.* object CommandUtil { def readLines(files: Seq[File]): Seq[String] = diff --git a/main-command/src/main/scala/sbt/Highlight.scala b/main-command/src/main/scala/sbt/Highlight.scala index 45c1fbfec..c0f0064c5 100644 --- a/main-command/src/main/scala/sbt/Highlight.scala +++ b/main-command/src/main/scala/sbt/Highlight.scala @@ -11,7 +11,7 @@ package sbt import java.util.regex.Pattern import scala.Console.{ BOLD, RESET } -import sbt.internal.util.{ Terminal => UTerminal } +import sbt.internal.util.{ Terminal as UTerminal } object Highlight { diff --git a/main-command/src/main/scala/sbt/State.scala b/main-command/src/main/scala/sbt/State.scala index b7f99491f..eb0a3a106 100644 --- a/main-command/src/main/scala/sbt/State.scala +++ b/main-command/src/main/scala/sbt/State.scala @@ -13,9 +13,9 @@ import java.net.{ URL, URLClassLoader } import java.util.concurrent.Callable import sbt.internal.classpath.ClassLoaderCache -import sbt.internal.inc.classpath.{ ClassLoaderCache => IncClassLoaderCache } +import sbt.internal.inc.classpath.{ ClassLoaderCache as IncClassLoaderCache } import sbt.internal.util.complete.{ HistoryCommands, Parser } -import sbt.internal.util._ +import sbt.internal.util.* import sbt.util.Logger import BasicCommandStrings.{ CompleteExec, @@ -447,7 +447,7 @@ object State { new ClassLoaderCache(s.configuration.provider.scalaProvider) } - import ExceptionCategory._ + import ExceptionCategory.* private def handleException(t: Throwable, s: State, log: Logger): State = { ExceptionCategory(t) match { diff --git a/main-command/src/main/scala/sbt/Watched.scala b/main-command/src/main/scala/sbt/Watched.scala index 5c654f4f4..124ac9b70 100644 --- a/main-command/src/main/scala/sbt/Watched.scala +++ b/main-command/src/main/scala/sbt/Watched.scala @@ -11,14 +11,14 @@ package sbt import java.io.File import java.nio.file.FileSystems -import sbt.internal.LabeledFunctions._ +import sbt.internal.LabeledFunctions.* import sbt.internal.LegacyWatched import sbt.internal.io.{ EventMonitor, Source, WatchState } import sbt.internal.util.Types.const import sbt.internal.util.AttributeKey -import sbt.io._ +import sbt.io.* -import scala.concurrent.duration._ +import scala.concurrent.duration.* import scala.util.Properties import scala.annotation.nowarn diff --git a/main-command/src/main/scala/sbt/internal/ConsoleChannel.scala b/main-command/src/main/scala/sbt/internal/ConsoleChannel.scala index 83f21eaf8..d6ec18cde 100644 --- a/main-command/src/main/scala/sbt/internal/ConsoleChannel.scala +++ b/main-command/src/main/scala/sbt/internal/ConsoleChannel.scala @@ -10,7 +10,7 @@ package sbt package internal import sbt.internal.ui.{ UITask, UserThread } -import sbt.internal.util._ +import sbt.internal.util.* import sjsonnew.JsonFormat private[sbt] final class ConsoleChannel( diff --git a/main-command/src/main/scala/sbt/internal/LegacyWatched.scala b/main-command/src/main/scala/sbt/internal/LegacyWatched.scala index 0a2effde8..a1dca2fef 100644 --- a/main-command/src/main/scala/sbt/internal/LegacyWatched.scala +++ b/main-command/src/main/scala/sbt/internal/LegacyWatched.scala @@ -15,7 +15,7 @@ import sbt.internal.nio.{ FileEventMonitor, FileTreeRepository, WatchLogger } import sbt.{ State, Watched } import scala.annotation.tailrec -import scala.concurrent.duration._ +import scala.concurrent.duration.* import scala.util.control.NonFatal private[sbt] object LegacyWatched { diff --git a/main-command/src/main/scala/sbt/internal/classpath/ClassLoaderCache.scala b/main-command/src/main/scala/sbt/internal/classpath/ClassLoaderCache.scala index ba7553229..f12dcd4e3 100644 --- a/main-command/src/main/scala/sbt/internal/classpath/ClassLoaderCache.scala +++ b/main-command/src/main/scala/sbt/internal/classpath/ClassLoaderCache.scala @@ -16,7 +16,7 @@ import java.util.concurrent.atomic.{ AtomicInteger, AtomicReference } import sbt.internal.inc.classpath.{ AbstractClassLoaderCache, - ClassLoaderCache => IncClassLoaderCache + ClassLoaderCache as IncClassLoaderCache } import sbt.internal.inc.{ AnalyzingCompiler, ZincUtil } import sbt.io.IO diff --git a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala index 664872743..ac86292e8 100644 --- a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala +++ b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala @@ -21,19 +21,19 @@ import java.text.DateFormat import sbt.BasicCommandStrings.{ DashDashDetachStdio, DashDashServer, Shutdown, TerminateAction } import sbt.internal.langserver.{ LogMessageParams, MessageType, PublishDiagnosticsParams } -import sbt.internal.protocol._ +import sbt.internal.protocol.* import sbt.internal.util.{ ConsoleAppender, ConsoleOut, Signals, Terminal, Util } import sbt.io.IO -import sbt.io.syntax._ -import sbt.protocol._ +import sbt.io.syntax.* +import sbt.protocol.* import sbt.util.Level -import sjsonnew.BasicJsonProtocol._ +import sjsonnew.BasicJsonProtocol.* import sjsonnew.shaded.scalajson.ast.unsafe.{ JObject, JValue } import sjsonnew.support.scalajson.unsafe.Converter import scala.annotation.tailrec import scala.collection.mutable -import scala.concurrent.duration._ +import scala.concurrent.duration.* import scala.util.control.NonFatal import scala.util.{ Failure, Properties, Success, Try } import Serialization.{ @@ -590,7 +590,7 @@ class NetworkClient( (msg.method, msg.params) match { case ("build/logMessage", Some(json)) => if (!attached.get) { - import sbt.internal.langserver.codec.JsonProtocol._ + import sbt.internal.langserver.codec.JsonProtocol.* Converter.fromJson[LogMessageParams](json) match { case Success(params) => splitLogMessage(params) case Failure(_) => Vector() @@ -620,7 +620,7 @@ class NetworkClient( batchMode.set(false) Vector.empty case ("textDocument/publishDiagnostics", Some(json)) => - import sbt.internal.langserver.codec.JsonProtocol._ + import sbt.internal.langserver.codec.JsonProtocol.* Converter.fromJson[PublishDiagnosticsParams](json) match { case Success(params) => splitDiagnostics(params); Vector() case Failure(_) => Vector() @@ -672,7 +672,7 @@ class NetworkClient( } def onRequest(msg: JsonRpcRequestMessage): Unit = { - import sbt.protocol.codec.JsonProtocol._ + import sbt.protocol.codec.JsonProtocol.* (msg.method, msg.params) match { case (`terminalCapabilities`, Some(json)) => Converter.fromJson[TerminalCapabilitiesQuery](json) match { diff --git a/main-command/src/main/scala/sbt/internal/client/ServerConnection.scala b/main-command/src/main/scala/sbt/internal/client/ServerConnection.scala index 51a1a862b..6585b6b06 100644 --- a/main-command/src/main/scala/sbt/internal/client/ServerConnection.scala +++ b/main-command/src/main/scala/sbt/internal/client/ServerConnection.scala @@ -14,8 +14,8 @@ import java.io.IOException import java.net.{ Socket, SocketTimeoutException } import java.util.concurrent.atomic.AtomicBoolean -import sbt.protocol._ -import sbt.internal.protocol._ +import sbt.protocol.* +import sbt.internal.protocol.* import sbt.internal.util.ReadJsonFromInputStream abstract class ServerConnection(connection: Socket) { diff --git a/main-command/src/main/scala/sbt/internal/server/Server.scala b/main-command/src/main/scala/sbt/internal/server/Server.scala index 53cdc02a4..3d0f0e93b 100644 --- a/main-command/src/main/scala/sbt/internal/server/Server.scala +++ b/main-command/src/main/scala/sbt/internal/server/Server.scala @@ -22,12 +22,12 @@ import scala.util.{ Failure, Success, Try } import sbt.internal.protocol.{ PortFile, TokenFile } import sbt.util.Logger import sbt.io.IO -import sbt.io.syntax._ +import sbt.io.syntax.* import sjsonnew.support.scalajson.unsafe.{ CompactPrinter, Converter } -import sbt.internal.protocol.codec._ +import sbt.internal.protocol.codec.* import sbt.internal.util.ErrorHandling import sbt.internal.util.Util.isWindows -import org.scalasbt.ipcsocket._ +import org.scalasbt.ipcsocket.* import sbt.internal.bsp.BuildServerConnection import xsbti.AppConfiguration @@ -50,7 +50,7 @@ private[sbt] object Server { log: Logger ): ServerInstance = new ServerInstance { self => - import connection._ + import connection.* val running = new AtomicBoolean(false) val p: Promise[Unit] = Promise[Unit]() val ready: Future[Unit] = p.future @@ -174,7 +174,7 @@ private[sbt] object Server { } private def writeTokenfile(): Unit = { - import JsonProtocol._ + import JsonProtocol.* val uri = connection.shortName val t = TokenFile(uri, token) @@ -209,7 +209,7 @@ private[sbt] object Server { // This file exists through the lifetime of the server. private def writePortfile(): Unit = { - import JsonProtocol._ + import JsonProtocol.* val uri = connection.shortName val p = diff --git a/main-command/src/main/scala/sbt/internal/server/ServerHandler.scala b/main-command/src/main/scala/sbt/internal/server/ServerHandler.scala index dc55482a1..2cbac259d 100644 --- a/main-command/src/main/scala/sbt/internal/server/ServerHandler.scala +++ b/main-command/src/main/scala/sbt/internal/server/ServerHandler.scala @@ -11,10 +11,10 @@ package internal package server import sjsonnew.JsonFormat -import sbt.internal.protocol._ +import sbt.internal.protocol.* import sbt.util.Logger -import sbt.protocol.{ CompletionParams => CP, SettingQuery => Q } -import sbt.internal.langserver.{ CancelRequestParams => CRP } +import sbt.protocol.{ CompletionParams as CP, SettingQuery as Q } +import sbt.internal.langserver.{ CancelRequestParams as CRP } /** * ServerHandler allows plugins to extend sbt server. diff --git a/main-command/src/main/scala/sbt/internal/ui/UITask.scala b/main-command/src/main/scala/sbt/internal/ui/UITask.scala index 8145d392e..d566d8f79 100644 --- a/main-command/src/main/scala/sbt/internal/ui/UITask.scala +++ b/main-command/src/main/scala/sbt/internal/ui/UITask.scala @@ -18,7 +18,7 @@ import sbt.State import sbt.internal.CommandChannel import sbt.internal.util.ConsoleAppender.{ ClearPromptLine, ClearScreenAfterCursor, DeleteLine } import sbt.internal.util.Terminal.hasConsole -import sbt.internal.util._ +import sbt.internal.util.* import sbt.internal.util.complete.{ Parser } import scala.annotation.tailrec diff --git a/main-command/src/main/scala/sbt/internal/ui/UserThread.scala b/main-command/src/main/scala/sbt/internal/ui/UserThread.scala index 1b9711fd9..c4d4cb91f 100644 --- a/main-command/src/main/scala/sbt/internal/ui/UserThread.scala +++ b/main-command/src/main/scala/sbt/internal/ui/UserThread.scala @@ -14,8 +14,8 @@ import java.util.concurrent.atomic.{ AtomicBoolean, AtomicReference } import java.util.concurrent.Executors import sbt.State -import scala.concurrent.duration._ -import sbt.internal.util.JoinThread._ +import scala.concurrent.duration.* +import sbt.internal.util.JoinThread.* import sbt.internal.util.{ ConsoleAppender, ProgressEvent, ProgressState, Prompt } private[sbt] class UserThread(val channel: CommandChannel) extends AutoCloseable { diff --git a/main-command/src/main/scala/sbt/internal/util/JoinThread.scala b/main-command/src/main/scala/sbt/internal/util/JoinThread.scala index be162e584..72f10f6ec 100644 --- a/main-command/src/main/scala/sbt/internal/util/JoinThread.scala +++ b/main-command/src/main/scala/sbt/internal/util/JoinThread.scala @@ -9,7 +9,7 @@ package sbt.internal.util import scala.annotation.tailrec -import scala.concurrent.duration._ +import scala.concurrent.duration.* import java.util.concurrent.TimeoutException object JoinThread { diff --git a/main-command/src/test/scala/sbt/MultiParserSpec.scala b/main-command/src/test/scala/sbt/MultiParserSpec.scala index 3949b3eca..6c99657b2 100644 --- a/main-command/src/test/scala/sbt/MultiParserSpec.scala +++ b/main-command/src/test/scala/sbt/MultiParserSpec.scala @@ -8,7 +8,7 @@ package sbt -import scala.concurrent.duration._ +import scala.concurrent.duration.* import org.scalatest.flatspec.AnyFlatSpec import sbt.internal.util.complete.Parser @@ -21,7 +21,7 @@ object MultiParserSpec { } def parseEither: Either[String, Seq[String]] = Parser.parse(s, parser) } -import sbt.MultiParserSpec._ +import sbt.MultiParserSpec.* class MultiParserSpec extends AnyFlatSpec { "parsing" should "parse single commands" in { assert(";foo".parse == Seq("foo")) diff --git a/main-command/src/test/scala/sbt/internal/ClassLoaderCacheTest.scala b/main-command/src/test/scala/sbt/internal/ClassLoaderCacheTest.scala index b29c37404..9aa93a09d 100644 --- a/main-command/src/test/scala/sbt/internal/ClassLoaderCacheTest.scala +++ b/main-command/src/test/scala/sbt/internal/ClassLoaderCacheTest.scala @@ -22,7 +22,7 @@ object ClassLoaderCacheTest { } } class ClassLoaderCacheTest extends AnyFlatSpec with Matchers { - import ClassLoaderCacheTest._ + import ClassLoaderCacheTest.* private def withCache[R](f: ClassLoaderCache => R): R = { val cache = new ClassLoaderCache(ClassLoader.getSystemClassLoader) try f(cache) diff --git a/main-settings/src/main/scala/sbt/Def.scala b/main-settings/src/main/scala/sbt/Def.scala index 73d374617..0abccd91d 100644 --- a/main-settings/src/main/scala/sbt/Def.scala +++ b/main-settings/src/main/scala/sbt/Def.scala @@ -15,7 +15,7 @@ import sbt.KeyRanks.{ DTask, Invisible } import sbt.Scope.{ GlobalScope, ThisScope } import sbt.internal.util.Types.const import sbt.internal.util.complete.Parser -import sbt.internal.util.{ Terminal => ITerminal, * } +import sbt.internal.util.{ Terminal as ITerminal, * } import sbt.util.{ ActionCacheStore, AggregateActionCacheStore, @@ -23,7 +23,7 @@ import sbt.util.{ cacheLevel, DiskActionCacheStore } -import Util._ +import Util.* import sbt.util.Show import xsbti.{ HashedVirtualFileRef, VirtualFile, VirtualFileRef } import sjsonnew.JsonFormat @@ -168,7 +168,7 @@ object Def extends BuildSyntax with Init with InitializeImplicits: project: Reference, trailingSlash: Boolean ): String = { - import Reference.{ display => displayRef } + import Reference.{ display as displayRef } @tailrec def loop(ref: Reference): String = ref match { case ProjectRef(b, p) => if (b == current.build) loop(LocalProject(p)) else displayRef(ref) case BuildRef(b) => if (b == current.build) loop(ThisBuild) else displayRef(ref) diff --git a/main-settings/src/main/scala/sbt/InputTask.scala b/main-settings/src/main/scala/sbt/InputTask.scala index e46fe3d7a..37ba37f67 100644 --- a/main-settings/src/main/scala/sbt/InputTask.scala +++ b/main-settings/src/main/scala/sbt/InputTask.scala @@ -10,9 +10,9 @@ package sbt import sbt.internal.util.complete.Parser import Def.Initialize -import std.TaskExtra._ +import std.TaskExtra.* import sbt.internal.util.Types -import sbt.internal.util.Types._ +import sbt.internal.util.Types.* import sbt.util.Applicative /** Parses input and produces a task to run. Constructed using the companion object. */ diff --git a/main-settings/src/main/scala/sbt/Plugins.scala b/main-settings/src/main/scala/sbt/Plugins.scala index 0b9ebff1d..05c227562 100644 --- a/main-settings/src/main/scala/sbt/Plugins.scala +++ b/main-settings/src/main/scala/sbt/Plugins.scala @@ -18,10 +18,10 @@ import sbt.librarymanagement.Configuration import sbt.internal.util.logic.{ Atom, Clause, Clauses, Formula, Literal, Logic, Negated } import Logic.{ CyclicNegation, InitialContradictions, InitialOverlap, LogicException } import Def.Setting -import Plugins._ +import Plugins.* import annotation.tailrec import sbt.util.Logger -import PluginTrigger._ +import PluginTrigger.* /** * An AutoPlugin defines a group of settings and the conditions where the settings are automatically added to a build (called "activation"). diff --git a/main-settings/src/main/scala/sbt/Previous.scala b/main-settings/src/main/scala/sbt/Previous.scala index 5a8025c9e..3d6381f03 100644 --- a/main-settings/src/main/scala/sbt/Previous.scala +++ b/main-settings/src/main/scala/sbt/Previous.scala @@ -9,11 +9,11 @@ package sbt import sbt.Def.{ Initialize, ScopedKey } -import sbt.Previous._ +import sbt.Previous.* import sbt.Scope.Global import sbt.ScopeAxis.Select -import sbt.internal.util._ -import sbt.std.TaskExtra._ +import sbt.internal.util.* +import sbt.std.TaskExtra.* import sbt.util.StampedFormat import sjsonnew.JsonFormat @@ -78,7 +78,7 @@ object Previous { private[sbt] class Key[T](val task: ScopedKey[Task[T]], val enclosing: AnyTaskKey) { override def equals(o: Any): Boolean = o match { - case that: Key[_] => this.task == that.task && this.enclosing == that.enclosing + case that: Key[?] => this.task == that.task && this.enclosing == that.enclosing case _ => false } override def hashCode(): Int = (task.## * 31) ^ enclosing.## diff --git a/main-settings/src/main/scala/sbt/Project.scala b/main-settings/src/main/scala/sbt/Project.scala index e7ea41616..abd3b2b11 100644 --- a/main-settings/src/main/scala/sbt/Project.scala +++ b/main-settings/src/main/scala/sbt/Project.scala @@ -73,7 +73,7 @@ sealed trait ProjectDefinition[PR <: ProjectReference] { override final def hashCode: Int = id.hashCode ^ base.hashCode ^ getClass.hashCode override final def equals(o: Any) = o match { - case p: ProjectDefinition[_] => p.getClass == this.getClass && p.id == id && p.base == base + case p: ProjectDefinition[?] => p.getClass == this.getClass && p.id == id && p.base == base case _ => false } diff --git a/main-settings/src/main/scala/sbt/PromiseWrap.scala b/main-settings/src/main/scala/sbt/PromiseWrap.scala index a4073699b..a7fb2cc6f 100644 --- a/main-settings/src/main/scala/sbt/PromiseWrap.scala +++ b/main-settings/src/main/scala/sbt/PromiseWrap.scala @@ -8,7 +8,7 @@ package sbt -import scala.concurrent.{ Promise => XPromise } +import scala.concurrent.{ Promise as XPromise } final class PromiseWrap[A]: private[sbt] val underlying: XPromise[A] = XPromise() diff --git a/main-settings/src/main/scala/sbt/Scope.scala b/main-settings/src/main/scala/sbt/Scope.scala index 551fc8a03..976545915 100644 --- a/main-settings/src/main/scala/sbt/Scope.scala +++ b/main-settings/src/main/scala/sbt/Scope.scala @@ -11,7 +11,7 @@ package sbt import java.net.URI import sbt.internal.util.{ AttributeKey, AttributeMap, Dag } -import sbt.internal.util.Util._ +import sbt.internal.util.Util.* import sbt.ScopeAxis.{ Select, This, Zero } import sbt.io.IO @@ -100,7 +100,7 @@ object Scope: def fillTaskAxis(scope: Scope, key: AttributeKey[?]): Scope = scope.task match { - case _: Select[_] => scope + case _: Select[?] => scope case _ => scope.copy(task = Select(key)) } diff --git a/main-settings/src/main/scala/sbt/Structure.scala b/main-settings/src/main/scala/sbt/Structure.scala index 55cc0dd8c..6f95dbecd 100644 --- a/main-settings/src/main/scala/sbt/Structure.scala +++ b/main-settings/src/main/scala/sbt/Structure.scala @@ -18,7 +18,7 @@ import sbt.ConcurrentRestrictions.Tag import sbt.Def.{ Initialize, ScopedKey, Setting, setting } import sbt.ScopeAxis.Select import std.TaskMacro -import std.TaskExtra.{ task => mktask, _ } +import std.TaskExtra.{ task as mktask, * } import scala.reflect.ClassTag /** An abstraction on top of Settings for build configuration and task definition. */ @@ -676,7 +676,7 @@ end Scoped * See https://www.scala-sbt.org/1.x/docs/Migrating-from-sbt-013x.html#Migrating+from+sbt+0.12+style for how to migrate. */ trait TupleSyntax: - import Scoped._ + import Scoped.* // format: off diff --git a/main-settings/src/main/scala/sbt/std/KeyMacro.scala b/main-settings/src/main/scala/sbt/std/KeyMacro.scala index 1a8e2970d..2398e3c1d 100644 --- a/main-settings/src/main/scala/sbt/std/KeyMacro.scala +++ b/main-settings/src/main/scala/sbt/std/KeyMacro.scala @@ -67,7 +67,7 @@ private[sbt] object KeyMacro: This(enclosingClass).asExpr private def enclosingTerm(using qctx: Quotes) = - import qctx.reflect._ + import qctx.reflect.* def enclosingTerm0(sym: Symbol): Symbol = sym match case sym if sym.flags.is(Flags.Macro) => enclosingTerm0(sym.owner) diff --git a/main-settings/src/test/scala/sbt/SlashSyntaxTest.scala b/main-settings/src/test/scala/sbt/SlashSyntaxTest.scala index 89e30c763..f232d70cb 100644 --- a/main-settings/src/test/scala/sbt/SlashSyntaxTest.scala +++ b/main-settings/src/test/scala/sbt/SlashSyntaxTest.scala @@ -9,13 +9,13 @@ package sbt.test import java.io.File -import sjsonnew._ +import sjsonnew.* import sbt.Def.{ Setting, inputKey, settingKey, taskKey } import sbt.Scope.Global import sbt.ScopeAxis.Zero import sbt.SlashSyntax0.* import sbt.librarymanagement.ModuleID -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.syntax.* import sbt.{ LocalProject, ProjectReference, ThisBuild } object SlashSyntaxTest extends sbt.SlashSyntax { diff --git a/main-settings/src/test/scala/sbt/TupleSyntaxTest.scala b/main-settings/src/test/scala/sbt/TupleSyntaxTest.scala index 7b7d4e0d0..4a6f8d094 100644 --- a/main-settings/src/test/scala/sbt/TupleSyntaxTest.scala +++ b/main-settings/src/test/scala/sbt/TupleSyntaxTest.scala @@ -8,11 +8,11 @@ package sbt.test -import sbt._ +import sbt.* object TupleSyntaxTest: def t1[A](a: SettingKey[A], b: TaskKey[A], c: Def.Initialize[A], d: Def.Initialize[Task[A]]) = { - import sbt.TupleSyntax._ + import sbt.TupleSyntax.* (a, b, c.toTaskable, d.toTaskable).mapN { (x: A, y: A, z: A, w: A) => "" + x + y + z + w } diff --git a/main-settings/src/test/scala/sbt/std/TaskPosSpec.scala b/main-settings/src/test/scala/sbt/std/TaskPosSpec.scala index bd7b774f2..da3a22327 100644 --- a/main-settings/src/test/scala/sbt/std/TaskPosSpec.scala +++ b/main-settings/src/test/scala/sbt/std/TaskPosSpec.scala @@ -13,7 +13,7 @@ class TaskPosSpec { // if branches since tasks with single if-expressions are automatically // converted into a conditional task. locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") val bar = taskKey[String]("") val condition = true @@ -25,7 +25,7 @@ class TaskPosSpec { // Dynamic tasks can have task invocations inside if branches locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") val bar = taskKey[String]("") val condition = true @@ -37,7 +37,7 @@ class TaskPosSpec { // Dynamic settings can have setting invocations inside if branches locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = settingKey[String]("") val bar = settingKey[String]("") val condition = true @@ -48,7 +48,7 @@ class TaskPosSpec { } locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") val condition = true Def.task[String] { @@ -59,7 +59,7 @@ class TaskPosSpec { } locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") val condition = true Def.task[String] { @@ -70,7 +70,7 @@ class TaskPosSpec { } locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") val bar = taskKey[String]("") val condition = true @@ -82,7 +82,7 @@ class TaskPosSpec { locally { // This is fix 1 for appearance of tasks inside anons - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") val condition = true Def.task[String] { @@ -95,7 +95,7 @@ class TaskPosSpec { locally { // This is fix 2 for appearance of tasks inside anons - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") val condition = true Def.taskDyn[String] { @@ -108,7 +108,7 @@ class TaskPosSpec { locally { // missing .value error should not happen inside task dyn - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") Def.taskDyn[String] { foo @@ -116,7 +116,7 @@ class TaskPosSpec { } locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") val avoidDCE = "" Def.task[String] { @@ -126,7 +126,7 @@ class TaskPosSpec { } locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") Def.task[String] { def inner(s: KeyedInitialize[?]) = println(s) @@ -137,7 +137,7 @@ class TaskPosSpec { locally { // In theory, this should be reported, but missing .value analysis is dumb at the cost of speed - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") def avoidDCE = { println(""); "" } Def.task[String] { @@ -149,7 +149,7 @@ class TaskPosSpec { } locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = taskKey[String]("") def avoidDCE(x: TaskKey[String]) = x.toString Def.task[String] { @@ -161,7 +161,7 @@ class TaskPosSpec { } locally { - import sbt._, Def._ + import sbt.*, Def.* def withKey(foo: => SettingKey[String]): Def.Initialize[Task[Unit]] = { Def.task { if (true) { @@ -174,7 +174,7 @@ class TaskPosSpec { } locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = settingKey[String]("") val condition = true Def.task[String] { @@ -185,7 +185,7 @@ class TaskPosSpec { } locally { - import sbt._, Def._ + import sbt.*, Def.* val foo = settingKey[String]("") Def.task[Seq[String]] { (1 to 10).map(_ => foo.value) @@ -193,7 +193,7 @@ class TaskPosSpec { } locally { - import sbt._, Def._ + import sbt.*, Def.* def withKey(bar: => SettingKey[Int]) = { Def.task { List(42).map { _ => diff --git a/main-settings/src/test/scala/sbt/std/UsageTest.scala b/main-settings/src/test/scala/sbt/std/UsageTest.scala index 1fff7c01d..40661e194 100644 --- a/main-settings/src/test/scala/sbt/std/UsageTest.scala +++ b/main-settings/src/test/scala/sbt/std/UsageTest.scala @@ -93,7 +93,7 @@ object Assign { else Def.task { 0 } } - import DefaultParsers._ + import DefaultParsers.* val p = Def.setting { name.value ~> Space ~> ID } val is = Seq( mk := 3, diff --git a/main/src/main/scala/sbt/BackgroundJobService.scala b/main/src/main/scala/sbt/BackgroundJobService.scala index 9427166d7..62362aa49 100644 --- a/main/src/main/scala/sbt/BackgroundJobService.scala +++ b/main/src/main/scala/sbt/BackgroundJobService.scala @@ -12,7 +12,7 @@ import java.io.Closeable import sbt.util.Logger import Def.{ Classpath, ScopedKey } -import sbt.internal.util.complete._ +import sbt.internal.util.complete.* import java.io.File import scala.util.control.NonFatal @@ -92,7 +92,7 @@ abstract class BackgroundJobService extends Closeable { object BackgroundJobService { private[sbt] def jobIdParser: (State, Seq[JobHandle]) => Parser[Seq[JobHandle]] = { - import DefaultParsers._ + import DefaultParsers.* (state, handles) => { val stringIdParser: Parser[Seq[String]] = Space ~> token( NotSpace.examples(handles.map(_.id.toString).toSet), diff --git a/main/src/main/scala/sbt/BuildPaths.scala b/main/src/main/scala/sbt/BuildPaths.scala index 51f27c7ff..5eb560332 100644 --- a/main/src/main/scala/sbt/BuildPaths.scala +++ b/main/src/main/scala/sbt/BuildPaths.scala @@ -42,7 +42,7 @@ object BuildPaths { val globalZincDirectory = AttributeKey[File]("global-zinc-directory", "The base directory for Zinc internals.", DSetting) - import sbt.io.syntax._ + import sbt.io.syntax.* def getGlobalBase(state: State): File = { val default = defaultVersionedGlobalBase(binarySbtVersion(state)) diff --git a/main/src/main/scala/sbt/CommandLineUIService.scala b/main/src/main/scala/sbt/CommandLineUIService.scala index 790146980..951150775 100644 --- a/main/src/main/scala/sbt/CommandLineUIService.scala +++ b/main/src/main/scala/sbt/CommandLineUIService.scala @@ -8,7 +8,7 @@ package sbt -import sbt.internal.util.{ SimpleReader, Terminal => ITerminal } +import sbt.internal.util.{ SimpleReader, Terminal as ITerminal } trait CommandLineUIService extends InteractionService { override def readLine(prompt: String, mask: Boolean): Option[String] = { diff --git a/main/src/main/scala/sbt/Cross.scala b/main/src/main/scala/sbt/Cross.scala index 755ba45f0..85f4df510 100644 --- a/main/src/main/scala/sbt/Cross.scala +++ b/main/src/main/scala/sbt/Cross.scala @@ -10,15 +10,15 @@ package sbt import java.io.File import sbt.Def.{ ScopedKey, Setting } -import sbt.Keys._ +import sbt.Keys.* import sbt.ProjectExtra.extract import sbt.ScopeAxis.{ Select, Zero } import sbt.internal.Act -import sbt.internal.CommandStrings._ +import sbt.internal.CommandStrings.* import sbt.internal.inc.ScalaInstance import sbt.internal.util.AttributeKey import sbt.internal.util.MessageOnlyException -import sbt.internal.util.complete.DefaultParsers._ +import sbt.internal.util.complete.DefaultParsers.* import sbt.internal.util.complete.{ DefaultParsers, Parser } import sbt.io.IO import sbt.librarymanagement.{ SemanticSelector, VersionNumber } @@ -40,10 +40,10 @@ object Cross { extends ScalaVersion private def switchParser(state: State): Parser[Switch] = { - import DefaultParsers._ + import DefaultParsers.* def versionAndCommand(spacePresent: Boolean) = { val x = Project.extract(state) - import x._ + import x.* val knownVersions = crossVersions(x, currentRef) val version = token(StringBasic.examples(knownVersions*)).map { arg => val force = arg.endsWith("!") @@ -104,7 +104,7 @@ object Cross { } private def crossVersions(extracted: Extracted, proj: ResolvedReference): Seq[String] = { - import extracted._ + import extracted.* (proj / crossScalaVersions).get(structure.data).getOrElse { // reading scalaVersion is a one-time deal (proj / scalaVersion).get(structure.data).toSeq @@ -117,8 +117,8 @@ object Cross { private[sbt] def parseSlashCommand( extracted: Extracted )(command: String): (Seq[ProjectRef], String) = { - import extracted._ - import DefaultParsers._ + import extracted.* + import DefaultParsers.* val parser = ((('{' ~> URIClass <~ '}').? ~ OpOrID <~ charClass(_ == '/', "/")) ~ any.*.string) .map { case uri ~ seg1 ~ cmd => (uri, seg1, cmd) } Parser.parse(command, parser) match { @@ -272,7 +272,7 @@ object Cross { private def switchScalaVersion(switch: Switch, state: State): (State, Seq[ResolvedReference]) = { val extracted = Project.extract(state) - import extracted._ + import extracted.* type ScalaVersion = String @@ -393,7 +393,7 @@ object Cross { state: State, extracted: Extracted ): State = { - import extracted._ + import extracted.* val newSettings = projects.flatMap { case (project, version, scalaVersions) => val scope = Scope(Select(project), Zero, Zero, Zero) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 7965cb06a..79454b192 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -9,18 +9,18 @@ package sbt import java.io.{ File, PrintWriter } -import java.nio.file.{ Files, Path => NioPath } +import java.nio.file.{ Files, Path as NioPath } import java.util.Optional import java.util.concurrent.TimeUnit import lmcoursier.CoursierDependencyResolution -import lmcoursier.definitions.{ Configuration => CConfiguration } +import lmcoursier.definitions.{ Configuration as CConfiguration } import org.apache.ivy.core.module.descriptor.ModuleDescriptor import org.apache.ivy.core.module.id.ModuleRevisionId -import org.apache.logging.log4j.core.{ Appender => XAppender } +import org.apache.logging.log4j.core.{ Appender as XAppender } import org.scalasbt.ipcsocket.Win32SecurityLevel import sbt.Def.{ Initialize, ScopedKey, Setting, SettingsDefinition, parsed } -import sbt.Keys._ -import sbt.OptionSyntax._ +import sbt.Keys.* +import sbt.OptionSyntax.* import sbt.Project.{ inScope, inTask, @@ -33,11 +33,11 @@ import sbt.ProjectExtra.* import sbt.Scope.{ GlobalScope, ThisBuildScope, ThisScope, fillTaskAxis } import sbt.ScopeAxis.{ Select, This, Zero } import sbt.State.StateOpsImpl -import sbt.coursierint._ +import sbt.coursierint.* import sbt.internal.CommandStrings.ExportStream -import sbt.internal._ +import sbt.internal.* import sbt.internal.classpath.AlternativeZincUtil -import sbt.internal.inc.JavaInterfaceUtil._ +import sbt.internal.inc.JavaInterfaceUtil.* import sbt.internal.inc.classpath.{ ClasspathFilter, ClasspathUtil } import sbt.internal.inc.{ CompileOutput, MappedFileConverter, Stamps, ZincLmUtil, ZincUtil } import sbt.internal.io.{ Source, WatchState } @@ -45,7 +45,7 @@ import sbt.internal.librarymanagement.mavenint.{ PomExtraDependencyAttributes, SbtPomExtraProperties } -import sbt.internal.librarymanagement._ +import sbt.internal.librarymanagement.* import sbt.internal.nio.{ CheckBuildSources, Globs } import sbt.internal.server.{ BspCompileProgress, @@ -59,12 +59,12 @@ import sbt.internal.server.{ } import sbt.internal.testing.TestLogger import sbt.internal.util.Attributed.data -import sbt.internal.util.Types._ -import sbt.internal.util.{ Terminal => ITerminal, _ } -import sbt.internal.util.complete._ -import sbt.io.Path._ -import sbt.io._ -import sbt.io.syntax._ +import sbt.internal.util.Types.* +import sbt.internal.util.{ Terminal as ITerminal, * } +import sbt.internal.util.complete.* +import sbt.io.Path.* +import sbt.io.* +import sbt.io.syntax.* import sbt.librarymanagement.Artifact.{ DocClassifier, SourceClassifier } import sbt.librarymanagement.Configurations.{ Compile, @@ -75,24 +75,24 @@ import sbt.librarymanagement.Configurations.{ Test } import sbt.librarymanagement.CrossVersion.{ binarySbtVersion, binaryScalaVersion, partialVersion } -import sbt.librarymanagement._ -import sbt.librarymanagement.ivy._ -import sbt.librarymanagement.syntax._ +import sbt.librarymanagement.* +import sbt.librarymanagement.ivy.* +import sbt.librarymanagement.syntax.* import sbt.nio.FileStamp -import sbt.nio.Keys._ -import sbt.nio.file.syntax._ +import sbt.nio.Keys.* +import sbt.nio.file.syntax.* import sbt.nio.file.{ FileTreeView, Glob, RecursiveGlob } import sbt.nio.Watch import sbt.std.TaskExtra.* import sbt.testing.{ AnnotatedFingerprint, Framework, Runner, SubclassFingerprint } import sbt.util.CacheImplicits.given -import sbt.util.InterfaceUtil.{ t2, toJavaFunction => f1 } -import sbt.util._ -import sjsonnew._ +import sbt.util.InterfaceUtil.{ t2, toJavaFunction as f1 } +import sbt.util.* +import sjsonnew.* import scala.annotation.nowarn import scala.collection.immutable.ListMap -import scala.concurrent.duration._ +import scala.concurrent.duration.* import scala.util.control.NonFatal import scala.xml.NodeSeq @@ -1023,7 +1023,7 @@ object Defaults extends BuildCommon { case "run" | "runMain" => true case r => r.split("/") match { - case Array(parts @ _*) => + case Array(parts*) => parts.lastOption match { case Some("run" | "runMain") => true case _ => false @@ -2596,21 +2596,21 @@ object Defaults extends BuildCommon { } def runMainParser: (State, Seq[String]) => Parser[(String, Seq[String])] = { - import DefaultParsers._ + import DefaultParsers.* (state, mainClasses) => Space ~> token(NotSpace.examples(mainClasses.toSet)) ~ spaceDelimited("") } def testOnlyParser: (State, Seq[String]) => Parser[(Seq[String], Seq[String])] = { (state, tests) => - import DefaultParsers._ + import DefaultParsers.* val selectTests = distinctParser(tests.toSet, true) val options = (token(Space) ~> token("--") ~> spaceDelimited("