mirror of https://github.com/sbt/sbt.git
lm alpha10
This commit is contained in:
parent
84a5fcb035
commit
9219ed6bd4
|
|
@ -15,7 +15,7 @@ object Dependencies {
|
|||
// sbt modules
|
||||
private val ioVersion = nightlyVersion.getOrElse("1.8.0")
|
||||
private val lmVersion =
|
||||
sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("2.0.0-alpha7")
|
||||
sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("2.0.0-alpha10")
|
||||
val zincVersion = nightlyVersion.getOrElse("2.0.0-alpha6")
|
||||
|
||||
private val sbtIO = "org.scala-sbt" %% "io" % ioVersion
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ Seq(
|
|||
ThisBuild / packageDoc / publishArtifact := false,
|
||||
packageSrc / publishArtifact := false,
|
||||
ThisBuild / organization := "org.example",
|
||||
ThisBuild / scalaVersion := "3.2.1",
|
||||
version := "1.0",
|
||||
)
|
||||
|
||||
|
|
@ -28,19 +29,18 @@ def scalaLibraryBase(v: String) = url(s"https://www.scala-lang.org/api/$v/")
|
|||
def addDep(projectName: String) =
|
||||
libraryDependencies += organization.value %% projectName % version.value
|
||||
|
||||
|
||||
val checkApiMappings = taskKey[Unit]("Verifies that the API mappings are collected as expected.")
|
||||
|
||||
def expectedMappings = Def.task {
|
||||
val version = scalaVersion.value
|
||||
val stdLibVersion = "2.13.10"
|
||||
val binVersion = scalaBinaryVersion.value
|
||||
val ms = update.value.configuration(Compile).get.modules.flatMap { mod =>
|
||||
mod.artifacts.flatMap { case (a,f) =>
|
||||
mod.artifacts.flatMap { case (a, f) =>
|
||||
val n = a.name.stripSuffix("_" + binVersion)
|
||||
n match {
|
||||
case "a" | "b" | "c" => (f, apiBase(n)) :: Nil
|
||||
case "scala-library" => (f, scalaLibraryBase(version)) :: Nil
|
||||
case _ => Nil
|
||||
case "scala-library" => (f, scalaLibraryBase(stdLibVersion)) :: Nil
|
||||
case _ => Nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -48,7 +48,6 @@ def expectedMappings = Def.task {
|
|||
(mc +: ms).toMap
|
||||
}
|
||||
|
||||
|
||||
val a = project.settings(
|
||||
apiBaseSetting,
|
||||
publishMavenStyle := true,
|
||||
|
|
@ -63,15 +62,17 @@ val b = project.settings(
|
|||
|
||||
val c = project.settings(apiBaseSetting)
|
||||
|
||||
val d = project.dependsOn( c ).settings(
|
||||
externalResolvers := Seq(aResolver.value, bResolver.value),
|
||||
addDep("a"),
|
||||
addDep("b"),
|
||||
checkApiMappings := {
|
||||
val actual = (Compile / doc / apiMappings).value
|
||||
println("Actual API Mappings: " + actual.mkString("\n\t", "\n\t", ""))
|
||||
val expected = expectedMappings.value
|
||||
println("Expected API Mappings: " + expected.mkString("\n\t", "\n\t", ""))
|
||||
assert(actual == expected)
|
||||
}
|
||||
)
|
||||
val d = project
|
||||
.dependsOn(c)
|
||||
.settings(
|
||||
externalResolvers := Seq(aResolver.value, bResolver.value),
|
||||
addDep("a"),
|
||||
addDep("b"),
|
||||
checkApiMappings := {
|
||||
val actual = (Compile / doc / apiMappings).value
|
||||
println("Actual API Mappings: " + actual.mkString("\n\t", "\n\t", ""))
|
||||
val expected = expectedMappings.value
|
||||
println("Expected API Mappings: " + expected.mkString("\n\t", "\n\t", ""))
|
||||
assert(actual == expected)
|
||||
}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ def withRepositories[T](pomXML: Elem)(f: NodeSeq => T) = {
|
|||
|
||||
lazy val checkExtra = readPom map { pomXML =>
|
||||
checkProject(pomXML)
|
||||
val extra = pomXML \ extraTagName
|
||||
val extra = pomXML \ extraTagName
|
||||
if (extra.isEmpty) sys.error("'" + extraTagName + "' not found in generated pom.xml.") else ()
|
||||
}
|
||||
|
||||
|
|
@ -51,13 +51,18 @@ lazy val checkPom = Def task {
|
|||
checkProject(pomXML)
|
||||
val ivyRepositories = fullResolvers.value
|
||||
withRepositories(pomXML) { repositoriesElement =>
|
||||
val repositories = repositoriesElement \ "repository"
|
||||
val repositories = repositoriesElement \ "repository"
|
||||
val writtenRepositories = repositories.map(read).distinct
|
||||
val mavenStyleRepositories = ivyRepositories.collect {
|
||||
case x: MavenRepository if (x.name != "public") && (x.name != "jcenter") && !(x.root startsWith "file:") => normalize(x)
|
||||
} distinct;
|
||||
val mavenStyleRepositories = (ivyRepositories.collect {
|
||||
case x: MavenRepository
|
||||
if (x.name != "public") && (x.name != "jcenter") && !(x.root startsWith "file:") =>
|
||||
normalize(x)
|
||||
}).distinct
|
||||
|
||||
lazy val explain = (("Written:" +: writtenRepositories) ++ ("Declared:" +: mavenStyleRepositories)).mkString("\n\t")
|
||||
lazy val explain =
|
||||
(("Written:" +: writtenRepositories) ++ ("Declared:" +: mavenStyleRepositories)).mkString(
|
||||
"\n\t"
|
||||
)
|
||||
|
||||
if (writtenRepositories != mavenStyleRepositories)
|
||||
sys.error("Written repositories did not match declared repositories.\n\t" + explain)
|
||||
|
|
@ -74,4 +79,5 @@ def normalize(url: String): String = {
|
|||
if (base.endsWith("/")) base else s"$base/"
|
||||
}
|
||||
|
||||
def normalize(repo: MavenRepository): MavenRepository = MavenRepository(repo.name, normalize(repo.root))
|
||||
def normalize(repo: MavenRepository): MavenRepository =
|
||||
MavenRepository(repo.name, normalize(repo.root))
|
||||
|
|
|
|||
Loading…
Reference in New Issue