private def lintUrls()

in multiversion/src/main/scala/multiversion/commands/ExportCommand.scala [205:227]


  private def lintUrls(
      thirdparty: ThirdpartyConfig,
      allowUrl: Boolean
  ): Result[ThirdpartyConfig] = {
    val diagnostics = thirdparty.dependencies.flatMap { dep =>
      val forbiddenUrl =
        if (dep.url.isDefined && !allowUrl)
          List(new ForbiddenUrlAttributeDiagnostic(dep.targets, dep.organization.position))
        else Nil
      val transitiveUrl =
        if (dep.url.isDefined && dep.transitive)
          List(new TransitiveUrlDiagnostic(dep.targets, dep.organization.position))
        else Nil
      forbiddenUrl ++ transitiveUrl
    }

    val newDependencies = thirdparty.dependencies.map {
      case dep if dep.url.isDefined && dep.transitive => dep.copy(transitive = false)
      case dep                                        => dep
    }

    app.reportOrElse(diagnostics, thirdparty.copy(dependencies = newDependencies))
  }