我遇到了让SBT子项目识别插件提供的命令的问题.我有以下插件源:
object DemoPlugin extends AutoPlugin {
override lazy val projectSettings = Seq(commands += demoCommand)
lazy val demoCommand =
Command.command("demo") { (state: State) =>
println("Demo Plugin!")
state
}
}
Run Code Online (Sandbox Code Playgroud)
配置如下的项目使用哪个:
lazy val root = project in file(".")
lazy val sub = (project in file("sub")).
enablePlugins(DemoPlugin).
settings(
//...
)
Run Code Online (Sandbox Code Playgroud)
该插件当然列在project/plugins.sbt.但是,当我在项目中打开sbt时,我看到以下内容:
> sub/commands
[info] List(sbt.SimpleCommand@413d2cd1)
> sub/demo
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: demo (similar: doc)
[error] sub/demo
Run Code Online (Sandbox Code Playgroud)
更奇怪的是,使用consoleProject,我可以看到项目中的命令是由一个定义的DemoPlugin!
scala> (commands …Run Code Online (Sandbox Code Playgroud) 我看到一个agentset按钮(贴剂,乌龟,链路)之间的差行为它运行的代码的某一部分和一个观察者按钮,askš patches(或turtles,或links运行的代码相同的部分).这是NetLogo中的错误吗?这是我的代码中的错误吗?