下面的build.sbt
适用于有3个模块的项目:
Shared
- 模块
JVM
模块,JS
模块及其自身JVM
- 模块
JS
- 模块,Shared
- 模块不可见,仅对自身可见JS
- 模块
JVM
- 模块,Shared
- 模块不可见,仅对自身可见我希望有一个第四个模块TestJSonJVM
,它可以编译到JVM平台和JS平台,只有JS
- 模块和它自己才能看到。
TestJSonJVM
- 模块的目的是将JS
- modul的逻辑/代码的一部分提取到TestJSonJVM
- 模块中,这样就可以在JVM上测试提取的部分-platform(具有比ScalaJS的JS平台更好的工具 - (debuging,IDE集成等)。)
如何修改下面的build.sbt
文件?这样就可以了吗?
lazy val root = project
.in(file("."))
.aggregate(imJS, imJVM)
.settings(
scalaVersion := Settings.versions.scala,
publish := {},
publishLocal := {}
)
lazy val im = crossProject
.in(file("."))
.settings(
libraryDependencies ++= Settings.sharedDependencies.value,
addCompilerPlugin(
"org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full),
scalaVersion := Settings.versions.scala,
name := "im",
version := "0.1-SNAPSHOT"
)
.jvmSettings(
libraryDependencies ++= Settings.jvmDependencies.value,
mainClass in Test := Some("app.server.rest.TestHttpServerApp"),
mainClass in Compile := Some("app.server.rest.TestHttpServerApp")
)
.jsSettings(
mainClass in Compile := Some("app.client.Main"),
libraryDependencies ++= Settings.scalajsDependencies.value,
persistLauncher in Compile := true,
persistLauncher in Test := false,
jsDependencies += RuntimeDOM,
scalaJSOptimizerOptions ~= { _.withDisableOptimizer(true) }
)
lazy val imJVM = im.jvm
lazy val imJS = im.js
persistLauncher in Compile := true
persistLauncher in Test := false
cancelable in Global := true