mirror of https://github.com/sbt/sbt.git
commit
4074cb32d3
|
|
@ -30,7 +30,7 @@ import sbt.internal._
|
|||
import sbt.internal.inc.JavaInterfaceUtil._
|
||||
import sbt.internal.inc.ZincUtil
|
||||
import sbt.internal.io.{ Source, WatchState }
|
||||
import sbt.internal.librarymanagement._
|
||||
import sbt.internal.librarymanagement.{ CustomHttp => _, _ }
|
||||
import sbt.internal.librarymanagement.mavenint.{
|
||||
PomExtraDependencyAttributes,
|
||||
SbtPomExtraProperties
|
||||
|
|
@ -217,6 +217,8 @@ object Defaults extends BuildCommon {
|
|||
artifactClassifier :== None,
|
||||
checksums := Classpaths.bootChecksums(appConfiguration.value),
|
||||
conflictManager := ConflictManager.default,
|
||||
CustomHttp.okhttpClientBuilder :== CustomHttp.defaultHttpClientBuilder,
|
||||
CustomHttp.okhttpClient := CustomHttp.okhttpClientBuilder.value.build,
|
||||
pomExtra :== NodeSeq.Empty,
|
||||
pomPostProcess :== idFun,
|
||||
pomAllRepositories :== false,
|
||||
|
|
@ -2179,8 +2181,11 @@ object Classpaths {
|
|||
)
|
||||
else None
|
||||
},
|
||||
dependencyResolution := IvyDependencyResolution(ivyConfiguration.value),
|
||||
publisher := IvyPublisher(ivyConfiguration.value),
|
||||
dependencyResolution := IvyDependencyResolution(
|
||||
ivyConfiguration.value,
|
||||
CustomHttp.okhttpClient.value
|
||||
),
|
||||
publisher := IvyPublisher(ivyConfiguration.value, CustomHttp.okhttpClient.value),
|
||||
ivyConfiguration := mkIvyConfiguration.value,
|
||||
ivyConfigurations := {
|
||||
val confs = thisProject.value.configurations
|
||||
|
|
@ -2427,7 +2432,7 @@ object Classpaths {
|
|||
private[sbt] def ivySbt0: Initialize[Task[IvySbt]] =
|
||||
Def.task {
|
||||
Credentials.register(credentials.value, streams.value.log)
|
||||
new IvySbt(ivyConfiguration.value)
|
||||
new IvySbt(ivyConfiguration.value, CustomHttp.okhttpClient.value)
|
||||
}
|
||||
def moduleSettings0: Initialize[Task[ModuleSettings]] = Def.task {
|
||||
ModuleDescriptorConfiguration(projectID.value, projectInfo.value)
|
||||
|
|
@ -2498,7 +2503,10 @@ object Classpaths {
|
|||
).withScalaOrganization(scalaOrganization.value)
|
||||
)
|
||||
},
|
||||
dependencyResolution := IvyDependencyResolution(ivyConfiguration.value),
|
||||
dependencyResolution := IvyDependencyResolution(
|
||||
ivyConfiguration.value,
|
||||
CustomHttp.okhttpClient.value
|
||||
),
|
||||
updateSbtClassifiers in TaskGlobal := (Def.task {
|
||||
val lm = dependencyResolution.value
|
||||
val s = streams.value
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* sbt
|
||||
* Copyright 2011 - 2018, Lightbend, Inc.
|
||||
* Copyright 2008 - 2010, Mark Harrah
|
||||
* Licensed under Apache License 2.0 (see LICENSE)
|
||||
*/
|
||||
|
||||
package sbt.internal
|
||||
|
||||
import sbt.internal.librarymanagement.{ CustomHttp => LMCustomHttp }
|
||||
import okhttp3._
|
||||
|
||||
import sbt.BuildSyntax._
|
||||
import sbt.KeyRanks._
|
||||
|
||||
object CustomHttp {
|
||||
val okhttpClientBuilder =
|
||||
settingKey[OkHttpClient.Builder]("Builder for the HTTP client.").withRank(CSetting)
|
||||
val okhttpClient =
|
||||
settingKey[OkHttpClient]("HTTP client used for library management.").withRank(CSetting)
|
||||
|
||||
def defaultHttpClientBuilder: OkHttpClient.Builder = {
|
||||
LMCustomHttp.defaultHttpClientBuilder
|
||||
}
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@ object Dependencies {
|
|||
private val lmVersion =
|
||||
sys.props.get("sbt.build.lm.version") match {
|
||||
case Some(version) => version
|
||||
case _ => "1.3.0-M2"
|
||||
case _ => "1.3.0-M3"
|
||||
}
|
||||
private val zincVersion = "1.3.0-M3"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
publishTo := Some(Resolver.file("test-publish", (baseDirectory in ThisBuild).value / "repo/"))
|
||||
resolvers += ("test" at ((baseDirectory in ThisBuild).value / "repo/").asURL.toString)
|
||||
resolvers += Resolver.mavenLocal
|
||||
|
||||
name := "demo1"
|
||||
|
||||
organization := "org.example"
|
||||
|
||||
version := "0.1"
|
||||
|
||||
sbtPlugin := true
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
publishTo := Some(Resolver.file("test-publish", (baseDirectory in ThisBuild).value / "repo"))
|
||||
resolvers += ("test" at ((baseDirectory in ThisBuild).value / "repo").asURL.toString)
|
||||
resolvers += Resolver.mavenLocal
|
||||
|
||||
name := "demo2"
|
||||
|
||||
organization := "org.example"
|
||||
|
||||
version := "0.2"
|
||||
|
||||
sbtPlugin := true
|
||||
|
||||
addSbtPlugin("org.example" % "demo1" % "0.1")
|
||||
|
|
@ -1,17 +1,44 @@
|
|||
ThisBuild / organization := "org.example"
|
||||
|
||||
lazy val root = (project in file("."))
|
||||
|
||||
lazy val a = proj(project in file("a"))
|
||||
lazy val b = proj(project in file("b"))
|
||||
lazy val c = proj(project in file("c"))
|
||||
|
||||
def proj(p: Project): Project =
|
||||
p.settings(
|
||||
ivyPaths := IvyPaths((baseDirectory in root).value, Some((target in root).value / "ivy-cache")),
|
||||
resolvers += {
|
||||
val ivyHome = Classpaths.bootIvyHome(appConfiguration.value) getOrElse sys.error("Launcher did not provide the Ivy home directory.")
|
||||
Resolver.file("real-local", ivyHome / "local")(Resolver.ivyStylePatterns)
|
||||
},
|
||||
resolvers += Resolver.typesafeIvyRepo("releases"), // not sure why this isn't included by default
|
||||
resolvers += Resolver.mavenLocal
|
||||
.settings(
|
||||
commonSettings
|
||||
)
|
||||
|
||||
lazy val commonSettings = Seq(
|
||||
ivyPaths := IvyPaths((baseDirectory in ThisBuild).value, Some((target in LocalRootProject).value / "ivy-cache")),
|
||||
publishTo := Some(Resolver.file("test-publish", (baseDirectory in ThisBuild).value / "repo/")),
|
||||
// to get sbt artifacts
|
||||
resolvers += {
|
||||
val ivyHome = Classpaths.bootIvyHome(appConfiguration.value) getOrElse sys.error("Launcher did not provide the Ivy home directory.")
|
||||
Resolver.file("real-local", ivyHome / "local")(Resolver.ivyStylePatterns)
|
||||
},
|
||||
resolvers += Resolver.mavenLocal,
|
||||
resolvers += ("test-repo" at ((baseDirectory in ThisBuild).value / "repo/").asURL.toString)
|
||||
)
|
||||
|
||||
lazy val a = (project in file("a"))
|
||||
.enablePlugins(SbtPlugin)
|
||||
.settings(
|
||||
commonSettings,
|
||||
name := "demo1",
|
||||
version := "0.1"
|
||||
)
|
||||
|
||||
lazy val b = (project in file("b"))
|
||||
.enablePlugins(SbtPlugin)
|
||||
.settings(
|
||||
commonSettings,
|
||||
name := "demo2",
|
||||
version := "0.2",
|
||||
addSbtPlugin("org.example" % "demo1" % "0.1")
|
||||
)
|
||||
|
||||
lazy val c = (project in file("c"))
|
||||
.enablePlugins(SbtPlugin)
|
||||
.settings(
|
||||
commonSettings,
|
||||
name := "demo3",
|
||||
version := "0.3",
|
||||
addSbtPlugin("org.example" % "demo2" % "0.2")
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
publishTo := Some(Resolver.file("test-publish", (baseDirectory in ThisBuild).value / "repo"))
|
||||
resolvers += ("test" at ((baseDirectory in ThisBuild).value / "repo").asURL.toString)
|
||||
resolvers += Resolver.mavenLocal
|
||||
|
||||
name := "demo3"
|
||||
|
||||
organization := "org.example"
|
||||
|
||||
version := "0.3"
|
||||
|
||||
sbtPlugin := true
|
||||
|
||||
//addSbtPlugin("org.example" % "demo1" % "0.1")
|
||||
|
||||
addSbtPlugin("org.example" % "demo2" % "0.2")
|
||||
Loading…
Reference in New Issue