Instantiate logger earlier, only keep one instance around

The loggers are now supposed to be re-usable (which simplifies their
handling)
This commit is contained in:
Alexandre Archambault 2019-02-06 15:04:19 -08:00
parent bc69e0b11a
commit 1390d319b1
7 changed files with 12 additions and 11 deletions

View File

@ -8,7 +8,7 @@ final case class ArtifactsParams(
classifiers: Option[Seq[Classifier]],
res: Seq[Resolution],
includeSignatures: Boolean,
createLogger: () => CacheLogger,
logger: CacheLogger,
projectName: String,
sbtClassifiers: Boolean,
cacheParams: CacheParams

View File

@ -40,7 +40,6 @@ object ArtifactsRun {
val artifactFilesOrErrors = try {
pool = Schedulable.fixedThreadPool(params.cacheParams.parallel)
artifactsLogger = params.createLogger()
val artifactFileOrErrorTasks = allArtifacts.toVector.distinct.map { a =>
Cache.file[Task](
@ -48,7 +47,7 @@ object ArtifactsRun {
params.cacheParams.cacheLocation,
params.cacheParams.cachePolicies,
checksums = params.cacheParams.checksum,
logger = Some(artifactsLogger),
logger = Some(params.logger),
pool = pool,
ttl = params.cacheParams.ttl
)
@ -66,6 +65,7 @@ object ArtifactsRun {
if (verbosityLevel >= 2)
log.info(artifactInitialMessage)
artifactsLogger = params.logger
artifactsLogger.init(if (printOptionalMessage) log.info(artifactInitialMessage))
Task.gather.gather(artifactFileOrErrorTasks).attempt.unsafeRun()(ExecutionContext.fromExecutorService(pool)) match {

View File

@ -77,7 +77,7 @@ class CoursierDependencyResolution(conf: CoursierConfiguration) extends Dependen
val verbosityLevel = 0
val ttl = CacheDefaults.ttl
val createLogger = conf.createLogger.map(_.create).getOrElse { () =>
val logger = conf.createLogger.map(_.create()).getOrElse {
new TermDisplay(new OutputStreamWriter(System.err), fallbackMode = true)
}
val cache = conf.cache.getOrElse(CacheDefaults.location)
@ -152,7 +152,7 @@ class CoursierDependencyResolution(conf: CoursierConfiguration) extends Dependen
typelevel = typelevel,
sbtClassifiers = false,
projectName = projectName,
createLogger = createLogger,
logger = logger,
cacheParams = coursier.params.CacheParams(
cacheLocation = cache,
cachePolicies = cachePolicies,
@ -172,7 +172,7 @@ class CoursierDependencyResolution(conf: CoursierConfiguration) extends Dependen
classifiers = classifiers,
res = resolutions.values.toSeq,
includeSignatures = false,
createLogger = createLogger,
logger = logger,
projectName = projectName,
sbtClassifiers = false,
cacheParams = CacheParams(

View File

@ -23,7 +23,7 @@ final case class ResolutionParams(
typelevel: Boolean,
sbtClassifiers: Boolean,
projectName: String,
createLogger: () => CacheLogger,
logger: CacheLogger,
cacheParams: coursier.params.CacheParams,
params: coursier.params.ResolutionParams
) {

View File

@ -30,9 +30,9 @@ object ResolutionRun {
val resOrError: Either[ResolutionError, Resolution] = try {
pool = Schedulable.fixedThreadPool(params.cacheParams.parallel)
resLogger = params.createLogger()
resLogger = params.logger
val fetchs = Cache.fetchs[Task](params.cacheParams.cacheLocation, params.cacheParams.cachePolicies, checksums = params.cacheParams.checksum, logger = Some(resLogger), pool = pool, ttl = params.cacheParams.ttl)
val fetchs = Cache.fetchs[Task](params.cacheParams.cacheLocation, params.cacheParams.cachePolicies, checksums = params.cacheParams.checksum, logger = Some(params.logger), pool = pool, ttl = params.cacheParams.ttl)
val fetch = ResolutionProcess.fetch(
params.repositories,
@ -80,6 +80,7 @@ object ResolutionRun {
if (verbosityLevel >= 2)
log.info(initialMessage)
resLogger = params.logger
resLogger.init(if (printOptionalMessage) log.info(initialMessage))
startRes

View File

@ -57,7 +57,7 @@ object ArtifactsTasks {
classifiers = classifiers,
res = res,
includeSignatures = includeSignatures,
createLogger = createLogger.create,
logger = createLogger.create(),
projectName = projectName,
sbtClassifiers = sbtClassifiers,
cacheParams = CacheParams(

View File

@ -134,7 +134,7 @@ object ResolutionTasks {
typelevel = typelevel,
sbtClassifiers = sbtClassifiers,
projectName = projectName,
createLogger = createLogger.create,
logger = createLogger.create(),
cacheParams = coursier.params.CacheParams(
cacheLocation = cache,
cachePolicies = cachePolicies,