Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 将参数传递给sbt任务_Scala_Sbt - Fatal编程技术网

Scala 将参数传递给sbt任务

Scala 将参数传递给sbt任务,scala,sbt,Scala,Sbt,我有以下sbt任务,我想将参数传递给: import sbt.complete._ import complete.DefaultParsers._ val stageEnv: Parser[String] = " staging" val prodEnv : Parser[String] = " production" val combinedParser: Parser[String] = stageEnv | prodEnv slick := slickCodeGenTask.val

我有以下sbt任务,我想将参数传递给:

import sbt.complete._
import complete.DefaultParsers._

val stageEnv: Parser[String] = " staging" 
val prodEnv : Parser[String] = " production"
val combinedParser: Parser[String] = stageEnv | prodEnv

slick := slickCodeGenTask.value

lazy val slick = inputKey[InputTask[Seq[File]]]("gen-tables")

lazy val slickCodeGenTask = Def.inputTask {
  ...
  s.log.info(combinedParser.parsed.trim)
  Seq(file(fname))
}
但是,当我运行它并传递类似“sbt slick prodEnv”的参数时,我得到以下错误:

[error] Not a valid command: prodEnv
[error] Not a valid project ID: prodEnv
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: prodEnv (similar: products)
[error] prodEnv
[error]  
这起到了作用:

import complete.DefaultParsers._

val slick = inputKey[Seq[File]]("gen-tables")

slick := {
  ...
  val arg: String = spaceDelimited("<arg>").parsed(0)
  ... 
}
import complete.DefaultParsers_
val slick=inputKey[Seq[File]](“gen tables”)
光滑的:={
...
val arg:String=spaceDelimited(“”)。已解析(0)
... 
}
电话:

sbt“光滑舞台”


sbt'slick production'

我认为
sbt'slick prodEnv'
会起作用。@AssenKolov谢谢,但仍然收到类似的错误-错误]不是有效的命令:slick所以,这与参数无关,但您根本看不到任务?你确定你已经发布了最新版本吗?是的,任务运行良好,只是没有看到argI在两周前提出了几乎相同的问题。我意识到我应该将该任务称为交互式任务或
sbt“task args”
,它起了作用,因此我删除了这个问题。看见