in multiversion/src/main/scala/multiversion/commands/LintCommand.scala [37:55]
def run(): Int = app.completeEither(runResult(), silence)
def runResult(): Result[Either[Diagnostic, Unit]] = {
val expr = queryExpressions.mkString(" ")
for {
targets <- getTargets(expr, bazelArgs)
query <- runQuery(s"allpaths($expr, @maven//:all)", bazelArgs)
index = new DependenciesIndex(query)
conflicts = targets.map(findConflicts(_, index)).flatten.sortBy(_.toString)
_ = writeLintReport(conflicts, lintReportPath)
diagnostic = Diagnostic.fromDiagnostics(conflicts)
result <-
diagnostic
.map { d =>
Result.value(Left(d))
}
.getOrElse(Result.value(Right(())))
} yield result
}