如何解决SBT插件%%%在哪里定义?
我有一个SBT插件,它将在编译之前自动生成一些Scala.js代码。这段代码取决于启用插件后要自动包含的库。
这可以编译并运行,但是没有获得该库的Scala.js版本:
import sbt._
import Keys.libraryDependencies
object MyPlugin extends Autoplugin {
object autoImport {
lazy val baseSettings: Seq[Def.Setting[_]] = Seq(
libraryDependencies += "my.lib" %% "library" % "0.1.0"
)
}
import autoImport._
override lazy val projectSettings = baseSettings
}
当我尝试使用"my.lib" %%% "library" % "0.1.0"
时,我得到:
value %%% is not a member of String
我觉得我可能缺少导入,但是我找不到应该在哪里定义。
解决方法
%%%
由the sbt-platformdeps plugin定义。
除非您的sbt插件已经依赖于sbt-scalajs,否则您需要在插件项目的settings
中为其添加依赖项:
addSbtPlugin("org.portable-scala" % "sbt-platform-deps" % "1.0.0")
以下导入将把它带入范围:
import org.portablescala.sbtplatformdeps.PlatformDepsPlugin.autoImport._
,
addSbtPlugin(“ com.lightbend.lagom”%“ lagom-sbt-plugin”%“ X.Y.Z”)//将“ X.Y.Z”替换为您的首选版本(例如“ 1.2.0-RC2”)。
您可以参考这一篇 https://www.lagomframework.com/documentation/1.6.x/java/LagomBuild.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。