我的目标是拥有一个可以采取一些参数的任务或设置。
在仔细阅读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
。
答案 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 desarrollo
和deploy parametrizacion
可以正常工作。
真的,需要指定初始空间,提供更大的灵活性。 : - )