diff --git a/modules/common-fs2/src/main/scala/com/snowplowanalytics/snowplow/enrich/common/fs2/io/FileSystem.scala b/modules/common-fs2/src/main/scala/com/snowplowanalytics/snowplow/enrich/common/fs2/io/FileSystem.scala index 36a37fb66..0f1ca3cf1 100644 --- a/modules/common-fs2/src/main/scala/com/snowplowanalytics/snowplow/enrich/common/fs2/io/FileSystem.scala +++ b/modules/common-fs2/src/main/scala/com/snowplowanalytics/snowplow/enrich/common/fs2/io/FileSystem.scala @@ -51,8 +51,9 @@ object FileSystem { .subflatMap { text => val either = for { tsConfig <- Either.catchNonFatal(ConfigFactory.parseString(text)).leftMap(_.getMessage) - tsConfig <- Either.catchNonFatal(fallbacks(tsConfig)).leftMap(_.getMessage) - parsed <- tsConfig.as[A].leftMap(_.show) + resolved <- Either.catchNonFatal(tsConfig.resolve()).leftMap(e => s"Can't resolve config: ${e.getMessage}") + withFallbacks <- Either.catchNonFatal(fallbacks(resolved)).leftMap(_.getMessage) + parsed <- withFallbacks.as[A].leftMap(_.show) } yield parsed either.leftMap(reason => s"Cannot parse file $path: $reason") }