Scala 如何在sbt子项目构建文件中启用插件?
如何在sbt子项目构建文件中启用插件?我知道如何在主build.sbt文件中执行此操作Scala 如何在sbt子项目构建文件中启用插件?,scala,sbt,Scala,Sbt,如何在sbt子项目构建文件中启用插件?我知道如何在主build.sbt文件中执行此操作 因此,考虑下面的项目结构 root/ app1 build.sbt project src/ app2 build.sbt project src/ build.sbt project 因此,我的root/build.sbt类似于: lazy val commonSettings = Seq( organization := "com.so
因此,考虑下面的项目结构
root/
app1
build.sbt
project
src/
app2
build.sbt
project
src/
build.sbt
project
因此,我的root/build.sbt类似于:
lazy val commonSettings = Seq(
organization := "com.someorg",
version := "0.1.0",
scalaVersion := "2.11.7"
)
lazy val app1 = (project in file("app1")).
//enablePlugins(Plugin1,Plugin2). I WANT TO ENABLE THIS IN app1/build.sbt
settings(commonSettings: _*).
settings(name := "app1")
lazy val app2 = (project in file("app2")).
//enablePlugins(Plugin1,Plugin2). I WANT TO ENABLE THIS IN app2/build.sbt
settings(commonSettings: _*).
settings(name := "app2")
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
name := "aaaMain"
).
aggregate(app1,app2).
dependsOn(app1,app2)
libraryDependencies ++= Seq(
dependency1,
dependency2
)
当前我的app1/build.sbt类似于:
lazy val commonSettings = Seq(
organization := "com.someorg",
version := "0.1.0",
scalaVersion := "2.11.7"
)
lazy val app1 = (project in file("app1")).
//enablePlugins(Plugin1,Plugin2). I WANT TO ENABLE THIS IN app1/build.sbt
settings(commonSettings: _*).
settings(name := "app1")
lazy val app2 = (project in file("app2")).
//enablePlugins(Plugin1,Plugin2). I WANT TO ENABLE THIS IN app2/build.sbt
settings(commonSettings: _*).
settings(name := "app2")
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
name := "aaaMain"
).
aggregate(app1,app2).
dependsOn(app1,app2)
libraryDependencies ++= Seq(
dependency1,
dependency2
)
如何在app1/build.sbt内部启用Plugin1和Plugin2?只需直接在
app1/build.sbt中添加启用插件(Plugin1,Plugin2)
Intellij可能会将其标记为语法错误,但它在从终端编译时编译并工作正常
感谢@sjrd在这方面的帮助。我认为使用最新版本的sbt(>=0.13.7IIRC),您只需在app1/build.sbt
中编写一行enablePlugins(Plugin1,Plugin2)
。你不能吗?谢谢@sjrd!成功了。出于某种原因,intellij认为按照您建议的方式启用插件是一种语法错误。但是我能够从终端成功编译。这种技术也适用于主项目中的补充SBT文件。例如,我可以通过添加两个文件将插件添加到现有项目中,而无需修改现有版本。我添加了project/buildinfo.sbt
只包含addSbtPlugin(“com.eed3si9n”%”sbt buildinfo“%”“0.6.1”)
和buildinfo.sbt
包含enablePlugins(BuildInfoPlugin)
以及所需的buildinfo sbt定义。我不清楚如何使用指令enablePlugins启用插件(Plugin1,Plugin2)
无声明说明。