From 8790a7b45d35eb3f261c4841c8d0c8aeffa7723a Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 5 Apr 2019 15:28:49 -0400 Subject: [PATCH] bump to lm 1.3.0-M3 This also adds `CustomHttp.okhttpClient` and `CustomHttp.okhttpClientBuilder` settings to experimentally customize HTTP client. --- main/src/main/scala/sbt/Defaults.scala | 18 +++++++++++++----- .../main/scala/sbt/internal/CustomHttp.scala | 18 ++++++++++++++++++ project/Dependencies.scala | 2 +- 3 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 main/src/main/scala/sbt/internal/CustomHttp.scala diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index cfdddd6a7..166745552 100755 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -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, @@ -2180,8 +2182,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 @@ -2428,7 +2433,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) @@ -2499,7 +2504,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 diff --git a/main/src/main/scala/sbt/internal/CustomHttp.scala b/main/src/main/scala/sbt/internal/CustomHttp.scala new file mode 100644 index 000000000..c62cce702 --- /dev/null +++ b/main/src/main/scala/sbt/internal/CustomHttp.scala @@ -0,0 +1,18 @@ +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 + } +} diff --git a/project/Dependencies.scala b/project/Dependencies.scala index be9c738d9..d866e9d98 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -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"