mirror of https://github.com/sbt/sbt.git
Merge pull request #311 from alexarchambault/topic/develop
Various fixes
This commit is contained in:
commit
3a79f0a924
|
|
@ -3,7 +3,7 @@ package coursier
|
|||
import java.io.{ OutputStreamWriter, File }
|
||||
import java.net.URL
|
||||
import java.nio.file.Files
|
||||
import java.util.concurrent.Executors
|
||||
import java.util.concurrent.{ ExecutorService, Executors }
|
||||
|
||||
import coursier.core.{ Authentication, Publication }
|
||||
import coursier.ivy.IvyRepository
|
||||
|
|
@ -225,6 +225,7 @@ object Tasks {
|
|||
private case class ResolutionCacheKey(
|
||||
project: Project,
|
||||
repositories: Seq[Repository],
|
||||
userEnabledProfiles: Set[String],
|
||||
resolution: Resolution,
|
||||
sbtClassifiers: Boolean
|
||||
)
|
||||
|
|
@ -255,6 +256,8 @@ object Tasks {
|
|||
private def projectDescription(project: Project) =
|
||||
s"${project.module.organization}:${project.module.name}:${project.version}"
|
||||
|
||||
private def createLogger() = new TermDisplay(new OutputStreamWriter(System.err))
|
||||
|
||||
def resolutionTask(
|
||||
sbtClassifiers: Boolean = false
|
||||
) = Def.task {
|
||||
|
|
@ -492,11 +495,12 @@ object Tasks {
|
|||
fallbackDependenciesRepositories
|
||||
|
||||
def resolution = {
|
||||
val pool = Executors.newFixedThreadPool(parallelDownloads, Strategy.DefaultDaemonThreadFactory)
|
||||
var pool: ExecutorService = null
|
||||
var resLogger: TermDisplay = null
|
||||
|
||||
def createLogger() = new TermDisplay(new OutputStreamWriter(System.err))
|
||||
|
||||
val resLogger = createLogger()
|
||||
try {
|
||||
pool = Executors.newFixedThreadPool(parallelDownloads, Strategy.DefaultDaemonThreadFactory)
|
||||
resLogger = createLogger()
|
||||
|
||||
val fetch = Fetch.from(
|
||||
repositories,
|
||||
|
|
@ -551,9 +555,6 @@ object Tasks {
|
|||
)
|
||||
.merge
|
||||
|
||||
resLogger.stop()
|
||||
|
||||
|
||||
if (!res.isDone)
|
||||
ResolutionError.MaximumIterationsReached
|
||||
.throwException()
|
||||
|
|
@ -587,13 +588,20 @@ object Tasks {
|
|||
log.info(s"Resolved ${projectDescription(currentProject)} dependencies")
|
||||
|
||||
res
|
||||
} finally {
|
||||
if (pool != null)
|
||||
pool.shutdown()
|
||||
if (resLogger != null)
|
||||
resLogger.stop()
|
||||
}
|
||||
}
|
||||
|
||||
resolutionsCache.getOrElseUpdate(
|
||||
ResolutionCacheKey(
|
||||
currentProject,
|
||||
repositories,
|
||||
startRes.copy(filter = None),
|
||||
userEnabledProfiles,
|
||||
startRes.copy(filter = None, profileActivation = None),
|
||||
sbtClassifiers
|
||||
),
|
||||
resolution
|
||||
|
|
@ -687,9 +695,11 @@ object Tasks {
|
|||
}.value
|
||||
|
||||
def report = {
|
||||
val pool = Executors.newFixedThreadPool(parallelDownloads, Strategy.DefaultDaemonThreadFactory)
|
||||
var pool: ExecutorService = null
|
||||
var artifactsLogger: TermDisplay = null
|
||||
|
||||
def createLogger() = new TermDisplay(new OutputStreamWriter(System.err))
|
||||
try {
|
||||
pool = Executors.newFixedThreadPool(parallelDownloads, Strategy.DefaultDaemonThreadFactory)
|
||||
|
||||
val depsByConfig = grouped(currentProject.dependencies)
|
||||
|
||||
|
|
@ -704,7 +714,7 @@ object Tasks {
|
|||
|
||||
val projCache = res.projectCache.mapValues { case (_, p) => p }
|
||||
val repr = Print.dependenciesUnknownConfigs(finalDeps.toVector, projCache)
|
||||
log.info(repr.split('\n').map(" "+_).mkString("\n"))
|
||||
log.info(repr.split('\n').map(" " + _).mkString("\n"))
|
||||
}
|
||||
|
||||
val classifiers =
|
||||
|
|
@ -724,7 +734,7 @@ object Tasks {
|
|||
case Some(cl) => res.classifiersArtifacts(cl)
|
||||
}
|
||||
|
||||
val artifactsLogger = createLogger()
|
||||
artifactsLogger = createLogger()
|
||||
|
||||
val artifactFileOrErrorTasks = allArtifacts.toVector.map { a =>
|
||||
def f(p: CachePolicy) =
|
||||
|
|
@ -760,8 +770,6 @@ object Tasks {
|
|||
l.toMap
|
||||
}
|
||||
|
||||
artifactsLogger.stop()
|
||||
|
||||
if (verbosityLevel >= 0)
|
||||
log.info(
|
||||
s"Fetched artifacts of ${projectDescription(currentProject)}" +
|
||||
|
|
@ -813,12 +821,18 @@ object Tasks {
|
|||
classifiers,
|
||||
artifactFileOpt
|
||||
)
|
||||
} finally {
|
||||
if (pool != null)
|
||||
pool.shutdown()
|
||||
if (artifactsLogger != null)
|
||||
artifactsLogger.stop()
|
||||
}
|
||||
}
|
||||
|
||||
reportsCache.getOrElseUpdate(
|
||||
ReportCacheKey(
|
||||
currentProject,
|
||||
res,
|
||||
res.copy(filter = None, profileActivation = None),
|
||||
withClassifiers,
|
||||
sbtClassifiers
|
||||
),
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package test
|
|||
|
||||
import java.io.File
|
||||
import java.math.BigInteger
|
||||
import java.util.concurrent.Executors
|
||||
|
||||
import utest._
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue