From 51331ec5b54d89e9891a9ea0e831203d4aacbeb6 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Wed, 28 Oct 2020 17:30:36 +0000 Subject: [PATCH] Add debug logging to Equiv[MiniSetup] --- .../sbt/internal/inc/MiniSetupUtil.scala | 32 ++++++++++++++----- .../inc/IncrementalCompilerImpl.scala | 1 + 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/internal/zinc-core/src/main/scala/sbt/internal/inc/MiniSetupUtil.scala b/internal/zinc-core/src/main/scala/sbt/internal/inc/MiniSetupUtil.scala index 4a0c627694..176295a3dd 100644 --- a/internal/zinc-core/src/main/scala/sbt/internal/inc/MiniSetupUtil.scala +++ b/internal/zinc-core/src/main/scala/sbt/internal/inc/MiniSetupUtil.scala @@ -15,7 +15,7 @@ package inc import java.nio.file.Path -import xsbti.T2 +import xsbti.{ Logger, T2 } import xsbti.compile.{ CompileOrder, MiniOptions, @@ -40,19 +40,35 @@ object MiniSetupUtil { /* *********************************************************************** */ /* Define first because `Equiv[CompileOrder.value]` dominates `Equiv[MiniSetup]`. */ - implicit def equivCompileSetup(equivOpts: Equiv[MiniOptions])( + def equivCompileSetup(logger: Logger, equivOpts: Equiv[MiniOptions])( implicit equivComp: Equiv[String] ): Equiv[MiniSetup] = { new Equiv[MiniSetup] { def equiv(a: MiniSetup, b: MiniSetup) = { - def sameOptions = equivOpts.equiv(a.options, b.options) - def sameCompiler = equivComp.equiv(a.compilerVersion, b.compilerVersion) + def prettyOptions(a: MiniOptions) = + s"scala=${a.scalacOptions.mkString(",")} java=${a.javacOptions.mkString(",")}" + def sameOptions = { + val ret = equivOpts.equiv(a.options, b.options) + if (!ret) + logger.debug { () => + s"""Found differing options: + |a: ${prettyOptions(a.options)} + |b: ${prettyOptions(b.options)} + |""".stripMargin + } + ret + } + def sameCompiler = { + val ret = equivComp.equiv(a.compilerVersion, b.compilerVersion) + if (!ret) + logger.debug { () => + s"Found differing compiler version ${a.compilerVersion} ${b.compilerVersion}" + } + ret + } def sameOrder = a.order == b.order def sameExtra = equivPairs.equiv(a.extra, b.extra) - sameOptions && - sameCompiler && - sameOrder && - sameExtra + sameOptions && sameCompiler && sameOrder && sameExtra } } } diff --git a/zinc/src/main/scala/sbt/internal/inc/IncrementalCompilerImpl.scala b/zinc/src/main/scala/sbt/internal/inc/IncrementalCompilerImpl.scala index 995ad4f23a..2e0f6c3640 100644 --- a/zinc/src/main/scala/sbt/internal/inc/IncrementalCompilerImpl.scala +++ b/zinc/src/main/scala/sbt/internal/inc/IncrementalCompilerImpl.scala @@ -484,6 +484,7 @@ class IncrementalCompilerImpl extends IncrementalCompiler { val (analysis, changed) = compileInternal( MixedAnalyzingCompiler(config)(logger), equivCompileSetup( + logger, equivOpts0(equivScalacOptions(incrementalOptions.ignoredScalacOptions)) ), equivPairs,