SBT Alt projelerinin eklentiler tarafından sağlanan komutları tanımasıyla ilgili bir sorun yaşıyorum. Aşağıdaki eklenti kaynağına sahip: olarak yapılandırılmış bir proje tarafından kullanılanSBT Alt projeleri eklenti komutlarını tanımıyor
object DemoPlugin extends AutoPlugin {
override lazy val projectSettings = Seq(commands += demoCommand)
lazy val demoCommand =
Command.command("demo") { (state: State) =>
println("Demo Plugin!")
state
}
}
aşağıdaki gibidir:
lazy val root = project in file(".")
lazy val sub = (project in file("sub")).
enablePlugins(DemoPlugin).
settings(
//...
)
eklentisi project/plugins.sbt
listelenen, tabii ki. Ben projede SBT açmak Ancak, aşağıdaki bakın: consoleProject
kullanılarak
> sub/commands
[info] List([email protected])
> sub/demo
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: demo (similar: doc)
[error] sub/demo
Hatta yabancı
, ben projede komutDemoPlugin
tarafından tanımlanan biri olduğunu görebilirsiniz!
scala> (commands in sub).eval.map { c => c.getClass.getMethod("name").invoke(c) }
res0: Seq[Object] = List(demo)
Ben sub/demo
yazın ve bu demo
komutu gerçekleştirmek sahip olabilmek için arıyorum. Herhangi bir yardım çok takdir edilecektir!