Scala SBT插件在哪里定义了%%%?
我有一个SBT插件,它会在编译前自动生成一些Scala.js代码。这段代码依赖于一个库,我想在插件启用时自动包含该库 这将编译并运行,但不会获得库的Scala.js版本:Scala SBT插件在哪里定义了%%%?,scala,dependencies,scala.js,sbt-plugin,Scala,Dependencies,Scala.js,Sbt Plugin,我有一个SBT插件,它会在编译前自动生成一些Scala.js代码。这段代码依赖于一个库,我想在插件启用时自动包含该库 这将编译并运行,但不会获得库的Scala.js版本: import sbt._ import Keys.libraryDependencies object MyPlugin extends AutoPlugin { object autoImport { lazy val baseSettings: Seq[Def.Setting[_]] = Seq(
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
}
I当我尝试使用“my.lib”%%“library”%%“0.1.0”
时,我得到:
value %%% is not a member of String
我觉得我可能缺少一个导入,但我找不到应该在哪里定义它。
%%
由定义
除非您的sbt插件已经依赖于sbt scalajs,否则您需要在插件项目的设置中为其添加依赖项:
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”)
你可以参考这个
因为没有什么比%%%
更好的了。只有%%
和%%
。scala.js文档对我来说非常清晰。你知道我不知道的事吗?我的意思是,您在代码-libraryDependencies+=“my.lib”%%“library”%%“0.1.0”
中只使用了%%
和%%
。很抱歉误解您的问题。因为当我将该行替换为libraryDependencies+=“my.lib”%%“library”%%“0.1.0”
时,我得到一个错误。我想知道我需要导入什么才能使%%
正常工作。感谢您提供的非常简洁和信息丰富的解释。我想我是在Scala.js代码中寻找它的,因为我没有意识到它是一种更通用的语法。