inputKey基本样本不起作用

时间:2015-02-10 09:54:30

标签: sbt

我的目标是拥有一个可以采取一些参数的任务或设置。

在仔细阅读the docs之后,我已在build.sbt中编写了这个编译好的基本代码段:

val servers = token(
    literal("desarrollo") | 
    literal("parametrizacion")
)

val deploy = inputKey[Unit]("Deploy to server")
deploy := {
    val serv = servers.parsed
    println(s"Deploying to $serv")
}

我从SBT命令行遇到了这个问题:

> deploy desarrollo
[error] Expected ID character
[error] Not a valid command: deploy
[error] Expected project ID
[error] Expected configuration
[error] Expected ':' (if selecting a configuration)
[error] Expected key
[error] Expected '::'
[error] Expected end of input.
[error] Expected 'desarrollo'
[error] Expected 'parametrizacion'
[error] desploy desarrollo
[error]          ^

参数的标签完成功能无效。

我的目的是接受一个参数,其值可以是desarrollo parametrizacion

1 个答案:

答案 0 :(得分:0)

必须指定并丢弃空格。

val servers = token(' ' ~> (
    literal("desarrollo") | 
    literal("parametrizacion")
))

val deploy = inputKey[Unit]("Deploy to server")
deploy := {
    val serv = servers.parsed
    println(s"Deploying to $serv")
}

现在,deploy desarrollodeploy parametrizacion可以正常工作。

真的,需要指定初始空间,提供更大的灵活性。 : - )