sbt, the interactive build tool
Go to file
Eugene Yokota c5ce636376 Flip the default to not use Gigahorse by default
Fixes https://github.com/sbt/sbt/issues/3570

The primary motivation for bringing in Gigahorse was to speed up the dependency resolution, especially in a high-latency environment like Australia, by enabling keep-alive. One of unintended consequences was that it ended up exposing either a bug in okhttp or Nexus / Artifactory's handling of keep-alive, since corporate users behind these proxy repositories started to experience problem publishing. Multiple people have also reported that putting network proxies like HAProxy works around this issue, which seems consistent with the theory.

Now that dependency resolution has switched to using Coursier by default, I am just going to flip the default here so publishing would use Ivy's default URL handler based on `java.net.HttpURLConnection` - 5681e1a77a/src/java/org/apache/ivy/util/url/BasicURLHandler.java
2019-08-27 17:47:32 -04:00
bin fixpreloaded.sh 2019-05-09 23:54:01 -04:00
core Flip the default to not use Gigahorse by default 2019-08-27 17:47:32 -04:00
ivy/src Refactor system properties lookup 2019-08-27 17:18:05 -04:00
notes Library management API 2017-07-15 11:17:23 -04:00
project deprecate CrossVersion.Disabled 2019-08-22 13:11:10 -04:00
scripted-test/src/sbt-test/lmScriptedTest adding multi-project test 2018-10-28 08:54:26 +00:00
.gitignore fix 2018-10-16 12:35:23 +01:00
.java-version Cross publish to Scala 2.12 2017-01-07 00:49:45 -05:00
.scalafmt.conf Deprecate HTTP resolvers 2019-08-01 16:20:22 -04:00
.travis.yml use head -1 2019-08-01 17:47:38 -04:00
README.md rename to DependencyResolutionInterface 2017-07-15 11:17:23 -04:00
build.sbt deprecate CrossVersion.Disabled 2019-08-22 13:11:10 -04:00
sbt-allsources.sh sbt-contraband 0.3.0-M4 2017-03-17 23:03:37 -04:00

README.md

librarymanagement module for sbt

scala> import java.io.File
import java.io.File

scala> import sbt.librarymanagement._, syntax._
import sbt.librarymanagement._
import syntax._

scala> val log = sbt.util.LogExchange.logger("test")
log: sbt.internal.util.ManagedLogger = sbt.internal.util.ManagedLogger@c439b0f

scala> val lm = {
         import sbt.librarymanagement.ivy._
         val ivyConfig = InlineIvyConfiguration().withLog(log)
         IvyDependencyResolution(ivyConfig)
       }
lm: sbt.librarymanagement.DependencyResolution = sbt.librarymanagement.DependencyResolution@6a9b40f8

scala> val module = "commons-io" % "commons-io" % "2.5"
module: sbt.librarymanagement.ModuleID = commons-io:commons-io:2.5

scala> lm.retrieve(module, scalaModuleInfo = None, new File("target"), log)
res0: Either[sbt.librarymanagement.UnresolvedWarning,Vector[java.io.File]] = Right(Vector(target/jars/commons-io/commons-io/commons-io-2.5.jar, target/jars/commons-io/commons-io/commons-io-2.5.jar, target/jars/commons-io/commons-io/commons-io-2.5.jar))