gpt4 book ai didi

scala - 您可以在命令中访问 SBT SettingKey 吗?

转载 作者:行者123 更新时间:2023-12-01 09:19:51 25 4
gpt4 key购买 nike

我正在编写命令并想在 TaskStreams 中使用 Logger 但这是不可能的,因为您无法访问 .value命令中的设置键。有什么办法吗?

def myCommand = Command.single("myCommand") {
case (currentState, userInput) =>
val extracted = Project.extract(currentState)
val log = streams.value.log <--- not allowed
log.info("Some logging")
currentState
}

最佳答案

streams 用于任务,而不是命令。

所以一种方法是创建一个“holder”TaskKey 并获取它的流,例如 sbt-pgp创建并使用 pgpCmdContext - 参见 pgp-cmd 的定义.


另一种方法是使用sLog,但我不确定这里是否应该使用sLog:

val myCommand = Command.single("myCommand") { case (s, arg) =>
val extracted = Project extract s
val log = extracted get sLog
log info "Some logging"
currentState
}

关于scala - 您可以在命令中访问 SBT SettingKey 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29750348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com