From 51d64c7eefabe5aff33476b03bdfaeb6bc85a670 Mon Sep 17 00:00:00 2001 From: Adrien Piquerez Date: Wed, 23 Dec 2020 14:56:49 +0100 Subject: [PATCH 1/2] Add scala3doc artifact --- .../ConfigurationExtra.scala | 1 + .../librarymanagement/ScalaArtifacts.scala | 23 +++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/core/src/main/scala/sbt/librarymanagement/ConfigurationExtra.scala b/core/src/main/scala/sbt/librarymanagement/ConfigurationExtra.scala index d15297198..7431e8950 100644 --- a/core/src/main/scala/sbt/librarymanagement/ConfigurationExtra.scala +++ b/core/src/main/scala/sbt/librarymanagement/ConfigurationExtra.scala @@ -48,6 +48,7 @@ object Configurations { lazy val Pom = Configuration.of("Pom", "pom") lazy val ScalaTool = Configuration.of("ScalaTool", "scala-tool").hide + lazy val ScalaDocTool = Configuration.of("ScalaDocTool", "scala-doc-tool").hide lazy val CompilerPlugin = Configuration.of("CompilerPlugin", "plugin").hide lazy val Component = Configuration.of("Component", "component").hide diff --git a/core/src/main/scala/sbt/librarymanagement/ScalaArtifacts.scala b/core/src/main/scala/sbt/librarymanagement/ScalaArtifacts.scala index dc667a4c8..18eb70fbe 100644 --- a/core/src/main/scala/sbt/librarymanagement/ScalaArtifacts.scala +++ b/core/src/main/scala/sbt/librarymanagement/ScalaArtifacts.scala @@ -13,17 +13,20 @@ object ScalaArtifacts { final val Scala3CompilerID = "scala3-compiler" final val Scala3InterfacesID = "scala3-interfaces" final val TastyCoreID = "tasty-core" + final val Scala3DocID = "scala3doc" private[sbt] final val Scala3LibraryPrefix = Scala3LibraryID + "_" private[sbt] final val Scala3CompilerPrefix = Scala3CompilerID + "_" private[sbt] final val TastyCorePrefix = TastyCoreID + "_" + private[sbt] final val Scala3DocPrefix = Scala3DocID + "_" def isScala2Artifact(name: String): Boolean = { name == LibraryID || name == CompilerID || name == ReflectID || name == ActorsID || name == ScalapID } def isScala3Artifact(name: String): Boolean = { name.startsWith(Scala3LibraryPrefix) || name.startsWith(Scala3CompilerPrefix) || - name.startsWith(TastyCorePrefix) || name == Scala3InterfacesID + name.startsWith(TastyCorePrefix) || name == Scala3InterfacesID || + name.startsWith(Scala3DocPrefix) } def isScala3(scalaVersion: String): Boolean = scalaVersion.startsWith("3.") @@ -48,6 +51,18 @@ object ScalaArtifacts { ModuleID(org, LibraryID, version) } + private[sbt] def docToolDependencies( + org: String, + version: String + ): Seq[ModuleID] = + if (isScala3(version)) { + Seq( + ModuleID(org, Scala3DocID, version) + .withConfigurations(Some(Configurations.ScalaDocTool.name + "->default(compile)")) + .withCrossVersion(CrossVersion.binary) + ) + } else Seq.empty + private[sbt] def toolDependencies( org: String, version: String @@ -60,11 +75,11 @@ object ScalaArtifacts { ) else Seq( - scalaToolDependency(org, CompilerID, version), - scalaToolDependency(org, LibraryID, version) + scala2ToolDependency(org, CompilerID, version), + scala2ToolDependency(org, LibraryID, version) ) - private[this] def scalaToolDependency(org: String, id: String, version: String): ModuleID = + private[this] def scala2ToolDependency(org: String, id: String, version: String): ModuleID = ModuleID(org, id, version).withConfigurations( Some(Configurations.ScalaTool.name + "->default,optional(default)") ) From ec34dd71a3d8bbf557e525186131d6f0f1962847 Mon Sep 17 00:00:00 2001 From: Adrien Piquerez Date: Wed, 30 Dec 2020 15:01:08 +0100 Subject: [PATCH 2/2] Add scala3-tasty-inspector artifact --- .../src/main/scala/sbt/librarymanagement/ScalaArtifacts.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/main/scala/sbt/librarymanagement/ScalaArtifacts.scala b/core/src/main/scala/sbt/librarymanagement/ScalaArtifacts.scala index 18eb70fbe..01e2ffe34 100644 --- a/core/src/main/scala/sbt/librarymanagement/ScalaArtifacts.scala +++ b/core/src/main/scala/sbt/librarymanagement/ScalaArtifacts.scala @@ -14,11 +14,13 @@ object ScalaArtifacts { final val Scala3InterfacesID = "scala3-interfaces" final val TastyCoreID = "tasty-core" final val Scala3DocID = "scala3doc" + final val Scala3TastyInspectorID = "scala3-tasty-inspector" private[sbt] final val Scala3LibraryPrefix = Scala3LibraryID + "_" private[sbt] final val Scala3CompilerPrefix = Scala3CompilerID + "_" private[sbt] final val TastyCorePrefix = TastyCoreID + "_" private[sbt] final val Scala3DocPrefix = Scala3DocID + "_" + private[sbt] final val Scala3TastyInspectorPrefix = Scala3TastyInspectorID + "_" def isScala2Artifact(name: String): Boolean = { name == LibraryID || name == CompilerID || name == ReflectID || name == ActorsID || name == ScalapID @@ -26,7 +28,7 @@ object ScalaArtifacts { def isScala3Artifact(name: String): Boolean = { name.startsWith(Scala3LibraryPrefix) || name.startsWith(Scala3CompilerPrefix) || name.startsWith(TastyCorePrefix) || name == Scala3InterfacesID || - name.startsWith(Scala3DocPrefix) + name.startsWith(Scala3DocPrefix) || name.startsWith(Scala3TastyInspectorPrefix) } def isScala3(scalaVersion: String): Boolean = scalaVersion.startsWith("3.")