Ho una definizione qualcosa di multi-progetto come il seguente:Come combinare crossProject e DependsOn
lazy val commonSettings = settings(
libraryDependencies ++= Seq(
"ch.qos.logback" % "logback-classic" % "1.1.2",
...
)
lazy val core = (project in file(".")).
settings(commonSettings: _*).
settings(...
)
lazy val web = (project in file("web")).
settings(commonSettings: _*).
settings(...
).dependsOn(core)
Il problema è che voglio impostare il progetto web di utilizzare il modello client/server Scala JS. Quindi ho bisogno di espandere il progetto web per usare crossProject per dividere le parti js/jvm/shared. Ma non sono sicuro del modo migliore per raggiungere questo obiettivo. Se provo a fare qualcosa di simile:
lazy val web = crossProject.
settings(commonSettings: _*).
settings(...
).jsSettings(...
).jvmSettings(...
).dependsOn(core)
ottengo un errore di compilazione per il mio build.scala:
... tipo non corrispondente; [errore] trovato: sbt.Project [errore] richiesto: org.scalajs.sbtplugin.cross.CrossClasspathDependency [errore] lazy val web = crossProject.settings(). jsSettings(). jvmSettings(). dependsOn (core) [error]
^
Puoi condividere il messaggio di errore completo? Perché vuoi estendere un progetto esistente? Hai esaminato l'esempio [qui] (http://www.scala-js.org/api/sbt-scalajs/0.6.1/index.html#org.scalajs.sbtplugin.cross.CrossProject)? – marios
Al contrario, probabilmente vorrai rendere il tuo 'core' un progetto incrociato, e lasciare' web' un normale progetto con '.enablePlugins (ScalaJSPlugin)'. – sjrd