为什么更新会丢弃sbt的UpdateReport中的信息?

问题描述 投票:1回答:1

我正在研究通过更改update任务使某些驱逐对sbt构建具有致命性。我很快发现它返回的UpdateReport不包含驱逐信息。然后,我查看了源代码,发现evicted调用updateFull,它与update的唯一区别是更改了下游调用中的两个标志,这导致信息[[not被丢弃。

这是非常明确地完成的事情,它与updateFull之间的唯一区别,都是调用同一方法的单行代码。另一方面,我认为这样做没有目的。将update替换为updateFull将使我可以解决上面的问题,但我担心它可能会导致无法预料的后果。

我尝试用update替换updateFull并成功运行了构建,但这并不能证明任何事情。所以我想知道为什么update会丢弃此信息?

sbt
1个回答
0
投票
关于强制搬迁警告是致命的,也许考虑一种替代方法,其中我们修改compile而不是像这样的update任务

val fatalEvictions = List("scalatest_2.13", "depB_2.13") compile := { if (evicted.value.allEvictions.map(_.name).intersect(fatalEvictions).nonEmpty) throw new IllegalStateException("Failed build due to existing evictions") (Compile / compile).value }

© www.soinside.com 2019 - 2024. All rights reserved.