mirror of https://github.com/sbt/sbt.git
- Replace usage of OkUrlFactory with just direct calls to the OkHTTP API. This allows us to ensure that connections get properly closed, and provides finer-grained internal control of how we make http requests. - Ensure that exceptions/error status codes don't cause leaked or hanging connections. Previously, a 404 on an artifact download would cause the underlying OkHTTP client to keep the request and connection open. This has the effect of wasting resources, but also slowing down overall download/resolution time to non-pipelined HTTP servers. |
||
|---|---|---|
| core | ||
| ivy/src | ||
| notes | ||
| project | ||
| .gitignore | ||
| .java-version | ||
| .scalafmt.conf | ||
| .travis.yml | ||
| README.md | ||
| build.sbt | ||
| sbt-allsources.sh | ||
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))