2017-08-10 80 views
3

參數runMain我有一個簡單的任務: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" com.company.Main $arg").value 

我得到錯誤:

error: Illegal dynamic reference: arg
(runMain in Compile).toTask(s" com.company.Main $arg").value
^
[error] Type error in expression

如何正確地傳遞參數?

P.S.對不起,我的英語不是我的母語。

回答

2

解決了這個問題與動態任務:

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