Scala SBT。任务中包含参数的runMain

Scala SBT。任务中包含参数的runMain,scala,sbt,Scala,Sbt,我有一个简单的任务: lazy val myCustomTask = TaskKey[Unit]("description of my task") myCustomTask := { val arg = "arg1" // Not used yet (runMain in Compile).toTask(" com.company.Main").value } 它很好用。 但我需要传递一些论点。如果我这样做: (runMain in Compile).toTask(s"

我有一个简单的任务:

lazy val myCustomTask = TaskKey[Unit]("description of my task")
myCustomTask := {
    val arg = "arg1"   // Not used yet
    (runMain in Compile).toTask(" com.company.Main").value
}
它很好用。

但我需要传递一些论点。如果我这样做:

(runMain in Compile).toTask(s" com.company.Main $arg").value
我得到一个错误:

错误:非法的动态引用:arg
(编译中的runMain).toTask(s“com.company.Main$arg”).value
^
[错误]表达式中的类型错误

如何正确传递参数


p.S.对不起,我的英语不是我的母语。

用动态任务解决了这个问题:

lazy val myCustomTask = taskKey[Unit]("description of my task")
myCustomTask := Def.taskDyn {
    val arg = "arg1"

    Def.task {
        (runMain in Compile).toTask(s" com.company.Main $arg").value
    }
}.value