summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2015-02-04 06:28:31 -0800
committerLi Haoyi <haoyi@dropbox.com>2015-02-04 06:28:31 -0800
commit3e92267b4f030f7bc7f0040fef50bd07e4709b21 (patch)
treee10900fcd96d9b6c8cc53e5b641bdd11ebfe59b8
parentb094df4a6a6cf1bf7eeb36d842970aa8b3d94d5f (diff)
downloadhands-on-scala-js-3e92267b4f030f7bc7f0040fef50bd07e4709b21.tar.gz
hands-on-scala-js-3e92267b4f030f7bc7f0040fef50bd07e4709b21.tar.bz2
hands-on-scala-js-3e92267b4f030f7bc7f0040fef50bd07e4709b21.zip
clientserver examples now work with crossProject
-rw-r--r--examples/crossBuilds/clientserver/app/js/src/main/scala/simple/Client.scala (renamed from examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala)3
-rw-r--r--examples/crossBuilds/clientserver/app/jvm/src/main/scala/simple/Page.scala (renamed from examples/crossBuilds/clientserver/server/src/main/scala/simple/Page.scala)2
-rw-r--r--examples/crossBuilds/clientserver/app/jvm/src/main/scala/simple/Server.scala (renamed from examples/crossBuilds/clientserver/server/src/main/scala/simple/Server.scala)0
-rw-r--r--examples/crossBuilds/clientserver/app/shared/src/main/scala/simple/FileData.scala (renamed from examples/crossBuilds/clientserver/client/shared/main/scala/simple/FileData.scala)0
-rw-r--r--examples/crossBuilds/clientserver/build.sbt27
-rw-r--r--examples/crossBuilds/clientserver/project/build.sbt2
l---------examples/crossBuilds/clientserver/server/shared1
-rw-r--r--examples/crossBuilds/clientserver2/app/js/src/main/scala/simple/Client.scala (renamed from examples/crossBuilds/clientserver2/client/src/main/scala/simple/Client.scala)3
-rw-r--r--examples/crossBuilds/clientserver2/app/jvm/src/main/scala/simple/Page.scala (renamed from examples/crossBuilds/clientserver2/server/src/main/scala/simple/Page.scala)2
-rw-r--r--examples/crossBuilds/clientserver2/app/jvm/src/main/scala/simple/Server.scala (renamed from examples/crossBuilds/clientserver2/server/src/main/scala/simple/Server.scala)0
-rw-r--r--examples/crossBuilds/clientserver2/app/shared/src/main/scala/simple/Shared.scala (renamed from examples/crossBuilds/clientserver2/client/shared/main/scala/simple/Shared.scala)0
-rw-r--r--examples/crossBuilds/clientserver2/build.sbt40
-rw-r--r--examples/crossBuilds/clientserver2/project/build.sbt2
l---------examples/crossBuilds/clientserver2/server/shared1
-rw-r--r--examples/crossBuilds/simple/build.sbt15
-rw-r--r--examples/crossBuilds/simple/js/shared/test/scala/simple/SimpleTest.scala (renamed from examples/crossBuilds/simple2/js/shared/test/scala/simple/SimpleTest.scala)0
-rw-r--r--examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala10
-rw-r--r--examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala10
-rw-r--r--examples/crossBuilds/simple/project/build.sbt2
-rw-r--r--examples/crossBuilds/simple2/build.sbt12
-rw-r--r--examples/crossBuilds/simple2/js/shared/main/scala/simple/Simple.scala7
-rw-r--r--examples/crossBuilds/simple2/js/src/main/scala/simple/Platform.scala9
l---------examples/crossBuilds/simple2/jvm/shared1
-rw-r--r--examples/crossBuilds/simple2/jvm/src/main/scala/simple/Platform.scala14
-rw-r--r--examples/crossBuilds/simple2/project/build.properties1
-rw-r--r--examples/crossBuilds/simple2/project/build.sbt4
-rw-r--r--examples/demos/src/main/scala/scrollmenu/Controller.scala4
27 files changed, 51 insertions, 121 deletions
diff --git a/examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala b/examples/crossBuilds/clientserver/app/js/src/main/scala/simple/Client.scala
index 63e891b..7db2384 100644
--- a/examples/crossBuilds/clientserver/client/src/main/scala/simple/Client.scala
+++ b/examples/crossBuilds/clientserver/app/js/src/main/scala/simple/Client.scala
@@ -3,7 +3,8 @@ package simple
import scalatags.JsDom.all._
import scalajs.concurrent.JSExecutionContext.Implicits.runNow
import org.scalajs.dom
-import dom.extensions.Ajax
+import dom.html
+import dom.ext.Ajax
import scalajs.js.annotation.JSExport
@JSExport
diff --git a/examples/crossBuilds/clientserver/server/src/main/scala/simple/Page.scala b/examples/crossBuilds/clientserver/app/jvm/src/main/scala/simple/Page.scala
index 19ed953..27cf954 100644
--- a/examples/crossBuilds/clientserver/server/src/main/scala/simple/Page.scala
+++ b/examples/crossBuilds/clientserver/app/jvm/src/main/scala/simple/Page.scala
@@ -7,7 +7,7 @@ object Page{
val skeleton =
html(
head(
- script(src:="/client-fastopt.js"),
+ script(src:="/appjs-fastopt.js"),
link(
rel:="stylesheet",
href:="https://cdnjs.cloudflare.com/ajax/libs/pure/0.5.0/pure-min.css"
diff --git a/examples/crossBuilds/clientserver/server/src/main/scala/simple/Server.scala b/examples/crossBuilds/clientserver/app/jvm/src/main/scala/simple/Server.scala
index e9038b5..e9038b5 100644
--- a/examples/crossBuilds/clientserver/server/src/main/scala/simple/Server.scala
+++ b/examples/crossBuilds/clientserver/app/jvm/src/main/scala/simple/Server.scala
diff --git a/examples/crossBuilds/clientserver/client/shared/main/scala/simple/FileData.scala b/examples/crossBuilds/clientserver/app/shared/src/main/scala/simple/FileData.scala
index d3d2f91..d3d2f91 100644
--- a/examples/crossBuilds/clientserver/client/shared/main/scala/simple/FileData.scala
+++ b/examples/crossBuilds/clientserver/app/shared/src/main/scala/simple/FileData.scala
diff --git a/examples/crossBuilds/clientserver/build.sbt b/examples/crossBuilds/clientserver/build.sbt
index 94525ff..85c51fa 100644
--- a/examples/crossBuilds/clientserver/build.sbt
+++ b/examples/crossBuilds/clientserver/build.sbt
@@ -1,32 +1,27 @@
import NativePackagerKeys._
-val sharedSettings = Seq(
+
+val app = crossProject.settings(
unmanagedSourceDirectories in Compile +=
baseDirectory.value / "shared" / "main" / "scala",
libraryDependencies ++= Seq(
"com.lihaoyi" %%% "scalatags" % "0.4.5",
- "com.lihaoyi" %%% "upickle" % "0.2.7"
+ "com.lihaoyi" %%% "upickle" % "0.2.6"
),
scalaVersion := "2.11.5"
-)
-
-lazy val client = project.in(file("client"))
- .enablePlugins(ScalaJSPlugin)
- .settings(sharedSettings:_*)
- .settings(
+).jsSettings(
libraryDependencies ++= Seq(
"org.scala-js" %%% "scalajs-dom" % "0.8.0"
)
-)
-
-lazy val server = project.in(file("server"))
- .settings(sharedSettings:_*)
- .settings(packageArchetype.java_application:_*)
- .settings(
+).jvmSettings(
libraryDependencies ++= Seq(
"io.spray" %% "spray-can" % "1.3.2",
"io.spray" %% "spray-routing" % "1.3.2",
"com.typesafe.akka" %% "akka-actor" % "2.3.6"
- ),
- (resources in Compile) += (fastOptJS in (client, Compile)).value.data
+ )
+)
+
+lazy val appJS = app.js
+lazy val appJVM = app.jvm.settings(
+ (resources in Compile) += (fastOptJS in (appJS, Compile)).value.data
)
diff --git a/examples/crossBuilds/clientserver/project/build.sbt b/examples/crossBuilds/clientserver/project/build.sbt
index 2336450..2e982c3 100644
--- a/examples/crossBuilds/clientserver/project/build.sbt
+++ b/examples/crossBuilds/clientserver/project/build.sbt
@@ -1,4 +1,4 @@
/*project/build.sbt*/
-addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.0-RC2")
+addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.7.4")
diff --git a/examples/crossBuilds/clientserver/server/shared b/examples/crossBuilds/clientserver/server/shared
deleted file mode 120000
index f32be42..0000000
--- a/examples/crossBuilds/clientserver/server/shared
+++ /dev/null
@@ -1 +0,0 @@
-../client/shared \ No newline at end of file
diff --git a/examples/crossBuilds/clientserver2/client/src/main/scala/simple/Client.scala b/examples/crossBuilds/clientserver2/app/js/src/main/scala/simple/Client.scala
index af3ea91..8894262 100644
--- a/examples/crossBuilds/clientserver2/client/src/main/scala/simple/Client.scala
+++ b/examples/crossBuilds/clientserver2/app/js/src/main/scala/simple/Client.scala
@@ -1,13 +1,14 @@
package simple
import scalatags.JsDom.all._
import org.scalajs.dom
+import dom.html
import scalajs.js.annotation.JSExport
import scalajs.concurrent.JSExecutionContext.Implicits.runNow
import autowire._
object Ajaxer extends autowire.Client[String, upickle.Reader, upickle.Writer]{
override def doCall(req: Request) = {
- dom.extensions.Ajax.post(
+ dom.ext.Ajax.post(
url = "/ajax/" + req.path.mkString("/"),
data = upickle.write(req.args)
).map(_.responseText)
diff --git a/examples/crossBuilds/clientserver2/server/src/main/scala/simple/Page.scala b/examples/crossBuilds/clientserver2/app/jvm/src/main/scala/simple/Page.scala
index 9b21b5a..c04107b 100644
--- a/examples/crossBuilds/clientserver2/server/src/main/scala/simple/Page.scala
+++ b/examples/crossBuilds/clientserver2/app/jvm/src/main/scala/simple/Page.scala
@@ -7,7 +7,7 @@ object Page{
val skeleton =
html(
head(
- script(src:="/client-fastopt.js"),
+ script(src:="/appjs-fastopt.js"),
link(
rel:="stylesheet",
href:="http://yui.yahooapis.com/pure/0.5.0/pure-min.css"
diff --git a/examples/crossBuilds/clientserver2/server/src/main/scala/simple/Server.scala b/examples/crossBuilds/clientserver2/app/jvm/src/main/scala/simple/Server.scala
index 8967c17..8967c17 100644
--- a/examples/crossBuilds/clientserver2/server/src/main/scala/simple/Server.scala
+++ b/examples/crossBuilds/clientserver2/app/jvm/src/main/scala/simple/Server.scala
diff --git a/examples/crossBuilds/clientserver2/client/shared/main/scala/simple/Shared.scala b/examples/crossBuilds/clientserver2/app/shared/src/main/scala/simple/Shared.scala
index c7b17b7..c7b17b7 100644
--- a/examples/crossBuilds/clientserver2/client/shared/main/scala/simple/Shared.scala
+++ b/examples/crossBuilds/clientserver2/app/shared/src/main/scala/simple/Shared.scala
diff --git a/examples/crossBuilds/clientserver2/build.sbt b/examples/crossBuilds/clientserver2/build.sbt
index c5c020c..c01f12b 100644
--- a/examples/crossBuilds/clientserver2/build.sbt
+++ b/examples/crossBuilds/clientserver2/build.sbt
@@ -1,31 +1,27 @@
-val sharedSettings = Seq(
+val app = crossProject.settings(
unmanagedSourceDirectories in Compile +=
baseDirectory.value / "shared" / "main" / "scala",
libraryDependencies ++= Seq(
- "com.lihaoyi" %%% "scalatags" % "0.4.3-RC1",
- "com.lihaoyi" %%% "upickle" % "0.2.6-RC1",
- "com.lihaoyi" %%% "autowire" % "0.2.4-RC1"
+ "com.lihaoyi" %%% "scalatags" % "0.4.5",
+ "com.lihaoyi" %%% "upickle" % "0.2.6",
+ "com.lihaoyi" %%% "autowire" % "0.2.4"
),
scalaVersion := "2.11.5"
-)
-
-lazy val client = project.in(file("client"))
- .enablePlugins(ScalaJSPlugin)
- .settings(sharedSettings:_*)
- .settings(
- libraryDependencies ++= Seq(
- "org.scala-js" %%% "scalajs-dom" % "0.7.0"
+).jsSettings(
+ libraryDependencies ++= Seq(
+ "org.scala-js" %%% "scalajs-dom" % "0.8.0"
+ )
+ ).jvmSettings(
+ libraryDependencies ++= Seq(
+ "io.spray" %% "spray-can" % "1.3.2",
+ "io.spray" %% "spray-routing" % "1.3.2",
+ "com.typesafe.akka" %% "akka-actor" % "2.3.6"
+ )
)
-)
-lazy val server = project.in(file("server"))
- .settings(sharedSettings:_*)
- .settings(
- libraryDependencies ++= Seq(
- "io.spray" %% "spray-can" % "1.3.2",
- "io.spray" %% "spray-routing" % "1.3.2",
- "com.typesafe.akka" %% "akka-actor" % "2.3.6"
- ),
- (resources in Compile) += (fastOptJS in (client, Compile)).value.data
+lazy val appJS = app.js
+lazy val appJVM = app.jvm.settings(
+ (resources in Compile) += (fastOptJS in (appJS, Compile)).value.data
)
+
diff --git a/examples/crossBuilds/clientserver2/project/build.sbt b/examples/crossBuilds/clientserver2/project/build.sbt
index f969143..d523658 100644
--- a/examples/crossBuilds/clientserver2/project/build.sbt
+++ b/examples/crossBuilds/clientserver2/project/build.sbt
@@ -1,3 +1,3 @@
/*project/build.sbt*/
-addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.0-RC2")
+addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.0")
diff --git a/examples/crossBuilds/clientserver2/server/shared b/examples/crossBuilds/clientserver2/server/shared
deleted file mode 120000
index f32be42..0000000
--- a/examples/crossBuilds/clientserver2/server/shared
+++ /dev/null
@@ -1 +0,0 @@
-../client/shared \ No newline at end of file
diff --git a/examples/crossBuilds/simple/build.sbt b/examples/crossBuilds/simple/build.sbt
index ce296c4..eb22c41 100644
--- a/examples/crossBuilds/simple/build.sbt
+++ b/examples/crossBuilds/simple/build.sbt
@@ -1,9 +1,12 @@
-val sharedSettings = Seq(
- unmanagedSourceDirectories in Compile +=
- baseDirectory.value / "shared" / "main" / "scala"
+
+val cross = crossProject.settings(
+ // Shared settings here
+).jsSettings(
+ // JS-specific settings here
+).jvmSettings(
+ // JVM-specific settings here
)
-lazy val js = project.in(file("js")).enablePlugins(ScalaJSPlugin)
- .settings(sharedSettings:_*)
+lazy val js = cross.js
-lazy val jvm = project.in(file("jvm")).settings(sharedSettings:_*) \ No newline at end of file
+lazy val jvm = cross.jvm
diff --git a/examples/crossBuilds/simple2/js/shared/test/scala/simple/SimpleTest.scala b/examples/crossBuilds/simple/js/shared/test/scala/simple/SimpleTest.scala
index b348c6f..b348c6f 100644
--- a/examples/crossBuilds/simple2/js/shared/test/scala/simple/SimpleTest.scala
+++ b/examples/crossBuilds/simple/js/shared/test/scala/simple/SimpleTest.scala
diff --git a/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala b/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala
index d726ec1..d4a9554 100644
--- a/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala
+++ b/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala
@@ -2,16 +2,8 @@
package simple
import scalajs.js
-object Platform extends js.JSApp{
+object Platform{
def format(ts: Long) = {
new js.Date(ts).toISOString()
}
- def main() = {
- val times = Seq(
- 0L,
- 1L << 32
- )
- println("Running on JS! " + 1.0d)
- println(Simple.formatTimes(times))
- }
} \ No newline at end of file
diff --git a/examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala b/examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala
index c5e8216..4713005 100644
--- a/examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala
+++ b/examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala
@@ -1,7 +1,7 @@
//jvm/src/main/scala/simple/Platform.scala
package simple
import java.text.SimpleDateFormat
-import java.util.{TimeZone, Locale}
+import java.util.TimeZone
object Platform{
def format(ts: Long) = {
@@ -11,12 +11,4 @@ object Platform{
fmt.setTimeZone(TimeZone.getTimeZone("UTC"))
fmt.format(new java.util.Date(ts))
}
- def main(args: Array[String]) = {
- val times = Seq(
- 0L,
- 1L << 32
- )
- println("Running on JVM! " + 1.0d)
- println(Simple.formatTimes(times))
- }
} \ No newline at end of file
diff --git a/examples/crossBuilds/simple/project/build.sbt b/examples/crossBuilds/simple/project/build.sbt
index b42401a..3175002 100644
--- a/examples/crossBuilds/simple/project/build.sbt
+++ b/examples/crossBuilds/simple/project/build.sbt
@@ -1,2 +1,2 @@
/*project/build.sbt*/
-addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.0-RC2")
+addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.0")
diff --git a/examples/crossBuilds/simple2/build.sbt b/examples/crossBuilds/simple2/build.sbt
deleted file mode 100644
index eb22c41..0000000
--- a/examples/crossBuilds/simple2/build.sbt
+++ /dev/null
@@ -1,12 +0,0 @@
-
-val cross = crossProject.settings(
- // Shared settings here
-).jsSettings(
- // JS-specific settings here
-).jvmSettings(
- // JVM-specific settings here
-)
-
-lazy val js = cross.js
-
-lazy val jvm = cross.jvm
diff --git a/examples/crossBuilds/simple2/js/shared/main/scala/simple/Simple.scala b/examples/crossBuilds/simple2/js/shared/main/scala/simple/Simple.scala
deleted file mode 100644
index 4ed0285..0000000
--- a/examples/crossBuilds/simple2/js/shared/main/scala/simple/Simple.scala
+++ /dev/null
@@ -1,7 +0,0 @@
-/*shared/main/scala/simple/Simple.scala*/
-package simple
-object Simple{
- def formatTimes(timestamps: Seq[Long]): Seq[String] = {
- timestamps.map(Platform.format).map(_.dropRight(5))
- }
-} \ No newline at end of file
diff --git a/examples/crossBuilds/simple2/js/src/main/scala/simple/Platform.scala b/examples/crossBuilds/simple2/js/src/main/scala/simple/Platform.scala
deleted file mode 100644
index d4a9554..0000000
--- a/examples/crossBuilds/simple2/js/src/main/scala/simple/Platform.scala
+++ /dev/null
@@ -1,9 +0,0 @@
-//js/src/main/scala/simple/Platform.scala
-package simple
-import scalajs.js
-
-object Platform{
- def format(ts: Long) = {
- new js.Date(ts).toISOString()
- }
-} \ No newline at end of file
diff --git a/examples/crossBuilds/simple2/jvm/shared b/examples/crossBuilds/simple2/jvm/shared
deleted file mode 120000
index a12df7d..0000000
--- a/examples/crossBuilds/simple2/jvm/shared
+++ /dev/null
@@ -1 +0,0 @@
-../js/shared \ No newline at end of file
diff --git a/examples/crossBuilds/simple2/jvm/src/main/scala/simple/Platform.scala b/examples/crossBuilds/simple2/jvm/src/main/scala/simple/Platform.scala
deleted file mode 100644
index 4713005..0000000
--- a/examples/crossBuilds/simple2/jvm/src/main/scala/simple/Platform.scala
+++ /dev/null
@@ -1,14 +0,0 @@
-//jvm/src/main/scala/simple/Platform.scala
-package simple
-import java.text.SimpleDateFormat
-import java.util.TimeZone
-
-object Platform{
- def format(ts: Long) = {
- val fmt = new SimpleDateFormat(
- "yyyy-MM-dd'T'HH:mm:ss.sss'Z'"
- )
- fmt.setTimeZone(TimeZone.getTimeZone("UTC"))
- fmt.format(new java.util.Date(ts))
- }
-} \ No newline at end of file
diff --git a/examples/crossBuilds/simple2/project/build.properties b/examples/crossBuilds/simple2/project/build.properties
deleted file mode 100644
index 748703f..0000000
--- a/examples/crossBuilds/simple2/project/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-sbt.version=0.13.7
diff --git a/examples/crossBuilds/simple2/project/build.sbt b/examples/crossBuilds/simple2/project/build.sbt
deleted file mode 100644
index a1be3f8..0000000
--- a/examples/crossBuilds/simple2/project/build.sbt
+++ /dev/null
@@ -1,4 +0,0 @@
-/*project/build.sbt*/
-addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.0-RC2")
-
-addSbtPlugin("com.lihaoyi" % "utest-js-plugin" % "0.2.5-RC1")
diff --git a/examples/demos/src/main/scala/scrollmenu/Controller.scala b/examples/demos/src/main/scala/scrollmenu/Controller.scala
index b4e9b3b..4627837 100644
--- a/examples/demos/src/main/scala/scrollmenu/Controller.scala
+++ b/examples/demos/src/main/scala/scrollmenu/Controller.scala
@@ -74,8 +74,8 @@ object Controller{
menuLink.classList.toggle("active")
}
-// main.onscroll = (e: dom.UIEvent) => updateScroll()
-// updateScroll()
+ main.onscroll = (e: dom.UIEvent) => updateScroll()
+ updateScroll()
}
}