gpt4 book ai didi

sbt - 如何从自定义任务执行runMain?

转载 作者:行者123 更新时间:2023-12-04 05:38:24 25 4
gpt4 key购买 nike

我正在使用sbt v0.13.5

在我的项目中,我希望有一个sbt任务,该任务可以接受一些输入(单个字符串),对其进行一些处理,然后吐出一些输出(再次是单个字符串)。我在项目中创建了一个帮助程序类,可以通过sbt runMain(sbt "runMain com.example.utils.ClassName someArgument")从终端调用该类。

我想要的是为自己节省一些打字时间,并拥有一个执行此任务的sbt任务。我只希望能够键入sbt doThing withStuff并拥有一个名为doThing的taskKey,它可以使用要运行的类名以及传递的任何参数来调用runMain

我知道如何创建任务,但似乎无法弄清楚如何从build.sbt中的自定义任务定义中调用runMain。谁能指出我正确的方向?

最佳答案

TaskKey[Unit]("myTask") := (runMain in Compile).toTask(" com.example.Main arg1 arg2").value
runMainInputTask。从0.13.1开始, InputTask具有 toTask方法。
  • https://github.com/sbt/sbt/commit/9dcb8727d819fb
  • https://github.com/sbt/sbt/blob/v0.13.6/main/settings/src/main/scala/sbt/InputTask.scala#L33
  • http://www.scala-sbt.org/0.13/docs/Input-Tasks.html#Get+a+Task+from+an+InputTask
  • 关于sbt - 如何从自定义任务执行runMain?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26244115/

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