Fix dependencies and build

This commit is contained in:
Adrien Piquerez 2024-10-09 08:53:58 +02:00
parent b131c6a18e
commit d1bf297087
3 changed files with 23 additions and 44 deletions

View File

@ -1,9 +0,0 @@
---
name: No new issues
about: Use https://github.com/sbt/sbt/issues/new/choose instead
---
No new issues should be opened against this repo.
Please use https://github.com/sbt/sbt/issues/new/choose to file an issue against sbt.

View File

@ -5,6 +5,7 @@ import com.typesafe.tools.mima.core._
import local.Scripted
import java.nio.file.{ Files, Path => JPath }
import java.util.Locale
import sbt.internal.inc.Analysis
import scala.util.Try
@ -627,7 +628,8 @@ lazy val scriptedSbtProj = (project in file("scripted-sbt"))
mimaSettings,
scriptedSbtMimaSettings,
)
.configure(addSbtIO, addSbtCompilerInterface, addSbtLmCore)
.dependsOn(lmCore)
.configure(addSbtIO, addSbtCompilerInterface)
lazy val dependencyTreeProj = (project in file("dependency-tree"))
.dependsOn(sbtProj)
@ -685,12 +687,12 @@ lazy val actionsProj = (project in file("main-actions"))
exclude[ReversedMissingMethodProblem]("sbt.compiler.Eval#EvalType.sourceName"),
),
)
.dependsOn(lmCore)
.configure(
addSbtIO,
addSbtCompilerInterface,
addSbtCompilerClasspath,
addSbtCompilerApiInfo,
addSbtLmCore,
addSbtZinc
)
@ -791,11 +793,11 @@ lazy val commandProj = (project in file("main-command"))
}
},
)
.dependsOn(lmCore)
.configure(
addSbtIO,
addSbtCompilerInterface,
addSbtCompilerClasspath,
addSbtLmCore,
addSbtZinc
)
@ -871,12 +873,8 @@ lazy val mainSettingsProj = (project in file("main-settings"))
exclude[IncompatibleSignatureProblem]("sbt.TupleSyntax.t*ToTable*"),
),
)
.configure(
addSbtIO,
addSbtCompilerInterface,
addSbtCompilerClasspath,
addSbtLmCore
)
.dependsOn(lmCore)
.configure(addSbtIO, addSbtCompilerInterface, addSbtCompilerClasspath)
lazy val zincLmIntegrationProj = (project in file("zinc-lm-integration"))
.settings(
@ -892,7 +890,8 @@ lazy val zincLmIntegrationProj = (project in file("zinc-lm-integration"))
),
libraryDependencies += launcherInterface,
)
.configure(addSbtZincCompileCore, addSbtLmCore, addSbtLmIvyTest)
.dependsOn(lmCore, lmIvy)
.configure(addSbtZincCompileCore)
lazy val buildFileProj = (project in file("buildfile"))
.dependsOn(
@ -903,13 +902,8 @@ lazy val buildFileProj = (project in file("buildfile"))
name := "build file",
libraryDependencies ++= Seq(scalaCompiler),
)
.configure(
addSbtIO,
addSbtLmCore,
addSbtLmIvy,
addSbtCompilerInterface,
addSbtZincCompileCore
)
.dependsOn(lmCore, lmIvy)
.configure(addSbtIO, addSbtCompilerInterface, addSbtZincCompileCore)
// The main integration project for sbt. It brings all of the projects together, configures them, and provides for overriding conventions.
lazy val mainProj = (project in file("main"))
@ -958,13 +952,8 @@ lazy val mainProj = (project in file("main"))
// mimaSettings,
// mimaBinaryIssueFilters ++= Vector(),
)
.configure(
addSbtIO,
addSbtLmCore,
addSbtLmIvy,
addSbtCompilerInterface,
addSbtZincCompileCore
)
.dependsOn(lmCore, lmIvy)
.configure(addSbtIO, addSbtCompilerInterface, addSbtZincCompileCore)
// Strictly for bringing implicits and aliases from subsystems into the top-level sbt namespace through a single package object
// technically, we need a dependency on all of mainProj's dependencies, but we don't do that since this is strictly an integration project
@ -1382,9 +1371,9 @@ lazy val lmCore = (project in file("core"))
// scalaCompiler.value,
launcherInterface,
gigahorseApacheHttp,
scalaXml,
sjsonnewScalaJson.value % Optional,
sjsonnew.value % Optional,
scalaXml.value,
sjsonNewScalaJson.value % Optional,
sjsonNewCore.value % Optional,
scalaTest % Test,
scalaCheck % Test,
scalaVerify % Test,
@ -1395,7 +1384,7 @@ lazy val lmCore = (project in file("core"))
version.value,
resourceManaged.value,
streams.value,
(Compile / compile).value
(Compile / compile).value.asInstanceOf[Analysis]
)
)
.taskValue,
@ -1412,10 +1401,12 @@ lazy val lmCore = (project in file("core"))
val srcs = (Compile / managedSources).value
val sdirs = (Compile / managedSourceDirectories).value
val base = baseDirectory.value
import Path._
(((srcs --- sdirs --- base) pair (relativeTo(sdirs) | relativeTo(base) | flat)) toSeq)
},
)
.configure(addSbtIO, addSbtUtilLogging, addSbtUtilPosition, addSbtUtilCache, addSbtCompilerInterface)
.dependsOn(utilLogging, utilPosition, utilCache)
.configure(addSbtIO, addSbtCompilerInterface)
lazy val lmIvy = (project in file("ivy"))
// .enablePlugins(ContrabandPlugin, JsonCodecPlugin)
@ -1427,8 +1418,8 @@ lazy val lmIvy = (project in file("ivy"))
contrabandSjsonNewVersion := sjsonNewVersion,
libraryDependencies ++= Seq(
ivy,
sjsonnewScalaJson.value,
sjsonnew.value,
sjsonNewScalaJson.value,
sjsonNewCore.value,
scalaTest % Test,
scalaCheck % Test,
scalaVerify % Test,
@ -1439,3 +1430,4 @@ lazy val lmIvy = (project in file("ivy"))
Compile / generateContrabands / contrabandFormatsForType := DatatypeConfig.getFormats,
Test / classLoaderLayeringStrategy := ClassLoaderLayeringStrategy.Flat
)

View File

@ -61,10 +61,6 @@ object Dependencies {
def addSbtIO = addSbtModule(sbtIoPath, "io", sbtIO)
def addSbtLmCore = addSbtModule(sbtLmPath, "lmCore", libraryManagementCore)
def addSbtLmIvy = addSbtModule(sbtLmPath, "lmIvy", libraryManagementIvy)
def addSbtLmIvyTest = addSbtModule(sbtLmPath, "lmIvy", libraryManagementIvy, Some(Test))
def addSbtCompilerInterface = addSbtModule(sbtZincPath, "compilerInterface", compilerInterface)
def addSbtCompilerClasspath = addSbtModule(sbtZincPath, "zincClasspath", compilerClasspath)
def addSbtCompilerApiInfo = addSbtModule(sbtZincPath, "zincApiInfo", compilerApiInfo)