Skip to content

Commit cf835c1

Browse files
authored
Merge pull request #475 from dwijnand/improve-problem-reporting
Improve problem reporting
2 parents c07be2a + cf7b288 commit cf835c1

File tree

2 files changed

+13
-18
lines changed

2 files changed

+13
-18
lines changed

sbtplugin/src/main/scala/com/typesafe/tools/mima/plugin/MimaPlugin.scala

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -75,22 +75,17 @@ object MimaPlugin extends AutoPlugin {
7575
private def binaryIssuesIterator = Def.task {
7676
val s = streams.value
7777
val previousClassfiles = mimaPreviousClassfiles.value
78-
79-
if (previousClassfiles.isEmpty) {
80-
val projectName = name.value
81-
var msg = s"$projectName: mimaPreviousArtifacts is empty, not analyzing binary compatibility."
82-
if (previousClassfiles eq NoPreviousClassfiles) {
83-
msg = s"$projectName: mimaPreviousArtifacts not set, not analyzing binary compatibility."
84-
if (mimaFailOnNoPrevious.value)
85-
sys.error(msg)
86-
}
87-
s.log.info(msg)
88-
}
89-
9078
val currentClassfiles = mimaCurrentClassfiles.value
9179
val cp = (fullClasspath in mimaFindBinaryIssues).value
9280
val log = new SbtLogger(s)
9381

82+
if (previousClassfiles eq NoPreviousClassfiles) {
83+
val msg = "mimaPreviousArtifacts not set, not analyzing binary compatibility"
84+
if (mimaFailOnNoPrevious.value) sys.error(msg) else s.log.info(s"${name.value}: $msg")
85+
} else if (previousClassfiles.isEmpty) {
86+
s.log.info(s"${name.value}: mimaPreviousArtifacts is empty, not analyzing binary compatibility.")
87+
}
88+
9489
previousClassfiles.iterator.map { case (moduleId, prevClassfiles) =>
9590
moduleId -> SbtMima.runMima(prevClassfiles, currentClassfiles, cp, mimaCheckDirection.value, log)
9691
}

sbtplugin/src/main/scala/com/typesafe/tools/mima/plugin/SbtMima.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,15 @@ object SbtMima {
6464
val count = backErrors.size + forwErrors.size
6565
val filteredCount = backward.size + forward.size - count
6666
val filteredNote = if (filteredCount > 0) s" (filtered $filteredCount)" else ""
67-
log.info(s"$projectName: found $count potential binary incompatibilities while checking against $module$filteredNote")
67+
val msg = s"Failed binary compatibility check against $module! Found $count potential problems$filteredNote"
68+
val doLog = if (count == 0) log.info(_) else if (failOnProblem) log.error(_) else log.warn(_)
6869

69-
(backErrors.iterator.map(pretty("current")) ++ forwErrors.iterator.map(pretty("other"))).foreach { msg =>
70-
if (failOnProblem) log.error(msg)
71-
else log.warn(msg)
72-
}
70+
doLog(s"$projectName: $msg")
71+
for (p <- backErrors) doLog(pretty("current")(p))
72+
for (p <- forwErrors) doLog(pretty("other")(p))
7373

7474
if (failOnProblem && count > 0) {
75-
sys.error(s"$projectName: Binary compatibility check failed!")
75+
sys.error(msg)
7676
}
7777
}
7878

0 commit comments

Comments
 (0)