【发布时间】:2014-08-26 07:20:13
【问题描述】:
我正在尝试使用带有 sbt 的编译器插件(我在 0.13.5),在我的 build.sbt 中传递为:
autoCompilerPlugins := true
scalacOptions += "-Xplugin:myCompilerPluginJar.jar"
这可行,插件运行,但是我真的想只在一些显式编译时运行插件(可能使用范围编译任务或自定义任务)。
如果我尝试类似:
val PluginConfig = config("plugin-config") extend(Compile)
autoCompilerPlugins := true
scalacOptions in PluginConfig += "-Xplugin:myCompilerPluginJar.jar"
插件不在“plugin-config:compile”上运行。事实上,如果我有
scalacOptions in Compile += "-Xplugin:myCompilerPluginJar.jar"
插件仍然在“test:compile”上运行或在任何其他范围内编译。我想我可能对配置/范围没有正确理解。
我也试过了:
lazy val pluginCommand = Command.command("plugincompile") { state =>
runTask(compile in Compile,
append(Seq(scalacOptions in Compile += "Xplugin:myCompilerPluginJar.jar"), state)
)
state
}
commands += pluginCommand
但是插件实际上并没有在那个命令上运行,所以我可能还是不明白那里的东西。
欢迎任何和所有帮助。
【问题讨论】:
标签: sbt