private def decodeForceVersions()

in multiversion/src/main/scala/multiversion/configs/ThirdpartyConfig.scala [223:248]


  private def decodeForceVersions(
      dep: DependencyConfig
  ): List[Result[(Module, String)]] = {
    decodeVersionsCache.getOrElseUpdate(
      dep, {
        val buf = mutable.ListBuffer.empty[Result[(Module, String)]]
        if (dep.force) {
          buf += ValueResult(dep.coursierModule(scala) -> dep.version)
        }
        buf ++= fromForceVersions(dep)
        for {
          dep <- dependencies2
          target <- dep.targets
        } {
          buf ++= forceVersionsByTarget(target)
        }
        for {
          transitiveLabel <- dep.dependencies
          transitive <- depsByTargets.getOrElse(transitiveLabel, Nil)
        } {
          buf ++= decodeForceVersions(transitive)
        }
        buf.toList
      }
    )
  }