【问题标题】:SBT: How do I get my custom task to appear in the tasks list?SBT:如何让我的自定义任务出现在任务列表中?
【发布时间】:2015-11-05 20:09:14
【问题描述】:

如果我在 SBT 0.13 中定义一个简单的任务,当我运行 tasks 或什至 tasks -vtasks -vv 时,它不会出现在列表中。我必须运行tasks -vvvtasks -V 才能看到它,但在这里它隐藏在数百个其他任务中。我的假设是我的自定义项目任务将是最重要的!

lazy val foo = taskKey[Unit]("Bar.")
foo := {
    println("Hello World!")
}

有什么方法可以提高我的任务的重要性,使其出现在顶级任务列表中?对项目的新手来说,无需过多挖掘就能看到这些任务似乎很重要。

【问题讨论】:

    标签: sbt


    【解决方案1】:

    TaskKey 有rank 参数,说明后加ATask

    要添加排名参数,您可能需要停止使用taskKey 宏并直接实例化TaskKey 类。所以这个(小写的t):

    lazy val foo = taskKey[Unit]("Bar.")
    

    变成这个(大写T):

    lazy val foo = TaskKey[Unit]("foo", "Bar.", KeyRanks.ATask)
    

    可以在here找到完整的排名列表。

    【讨论】:

    • 我试过这个,但它对我不起作用。这里有什么要记住的吗?
    • 非默认配置中的任务永远不会出现
    • 好的,这就是我所缺少的。谢谢!很酷的提示,我从来没有注意到这个细节。
    猜你喜欢
    • 2017-06-15
    • 2016-11-08
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 2012-01-23
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多