summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-11-09 10:08:47 -0800
committerLi Haoyi <haoyi@dropbox.com>2014-11-09 10:08:47 -0800
commit978a138c02c07822ef71f31f71e552a9659a0a53 (patch)
tree9771e4d4620af7e6f5ff54cb4c711e04cffb4e30 /examples
parent795c0eb5de003b22c3874762557ae2b34ae64de0 (diff)
downloadhands-on-scala-js-978a138c02c07822ef71f31f71e552a9659a0a53.tar.gz
hands-on-scala-js-978a138c02c07822ef71f31f71e552a9659a0a53.tar.bz2
hands-on-scala-js-978a138c02c07822ef71f31f71e552a9659a0a53.zip
wip
Diffstat (limited to 'examples')
-rw-r--r--examples/crossBuilds/simple/build.sbt13
-rw-r--r--examples/crossBuilds/simple2/build.sbt13
-rw-r--r--examples/crossBuilds/simple2/js/shared/main/scala/simple/Simple.scala7
-rw-r--r--examples/crossBuilds/simple2/js/shared/test/scala/simple/SimpleTest.scala13
-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.scala13
-rw-r--r--examples/crossBuilds/simple2/project/build.sbt4
8 files changed, 67 insertions, 6 deletions
diff --git a/examples/crossBuilds/simple/build.sbt b/examples/crossBuilds/simple/build.sbt
index b0ecca7..f1cda7e 100644
--- a/examples/crossBuilds/simple/build.sbt
+++ b/examples/crossBuilds/simple/build.sbt
@@ -1,8 +1,9 @@
-lazy val js = project.in(file("js")).settings(scalaJSSettings:_*).settings(
- unmanagedSourceDirectories in Compile +=
- baseDirectory.value / "shared" / "main" / "scala"
-)
-lazy val jvm = project.in(file("jvm")).settings(
+val sharedSettings = Seq(
unmanagedSourceDirectories in Compile +=
baseDirectory.value / "shared" / "main" / "scala"
-) \ No newline at end of file
+)
+
+lazy val js = project.in(file("js")).settings(scalaJSSettings:_*)
+ .settings(sharedSettings:_*)
+
+lazy val jvm = project.in(file("jvm")).settings(sharedSettings:_*) \ No newline at end of file
diff --git a/examples/crossBuilds/simple2/build.sbt b/examples/crossBuilds/simple2/build.sbt
new file mode 100644
index 0000000..a20cf1d
--- /dev/null
+++ b/examples/crossBuilds/simple2/build.sbt
@@ -0,0 +1,13 @@
+import utest.jsrunner.JsCrossBuild
+
+val cross = new JsCrossBuild(
+ // Shared settings here
+)
+
+lazy val js = cross.js.settings(
+ // JS-specific settings here
+)
+
+lazy val jvm = cross.jvm.settings(
+ // JVM-specific settings here
+)
diff --git a/examples/crossBuilds/simple2/js/shared/main/scala/simple/Simple.scala b/examples/crossBuilds/simple2/js/shared/main/scala/simple/Simple.scala
new file mode 100644
index 0000000..d3b0278
--- /dev/null
+++ b/examples/crossBuilds/simple2/js/shared/main/scala/simple/Simple.scala
@@ -0,0 +1,7 @@
+/*shared/main/scala/simple/Simple.scala*/
+package simple
+object Simple{
+ def formatTimes(timestamps: Seq[Long]): String = {
+ timestamps.map(Platform.format).mkString("\n")
+ }
+} \ No newline at end of file
diff --git a/examples/crossBuilds/simple2/js/shared/test/scala/simple/SimpleTest.scala b/examples/crossBuilds/simple2/js/shared/test/scala/simple/SimpleTest.scala
new file mode 100644
index 0000000..ec6b29f
--- /dev/null
+++ b/examples/crossBuilds/simple2/js/shared/test/scala/simple/SimpleTest.scala
@@ -0,0 +1,13 @@
+/*js/shared/test/scala/simple/SimpleTest.scala*/
+/*jvm/shared/test/scala/simple/SimpleTest.scala*/
+package simple
+import utest._
+object SimpleTest extends TestSuite{
+ val tests = TestSuite{
+ 'format{
+ 'nil - assert(Simple.formatTimes(Nil) == "")
+ 'timeZero - assert(
+ Simple.formatTimes(Seq(0)) == "December 31, 1969 4:00:00 PM PST")
+ }
+ }
+} \ 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
new file mode 100644
index 0000000..2a02a5e
--- /dev/null
+++ b/examples/crossBuilds/simple2/js/src/main/scala/simple/Platform.scala
@@ -0,0 +1,9 @@
+//js/src/main/scala/simple/Platform.scala
+package simple
+import scala.scalajs.js
+
+object Platform{
+ def format(ts: Long) = {
+ new js.Date(ts).toLocaleString()
+ }
+} \ No newline at end of file
diff --git a/examples/crossBuilds/simple2/jvm/shared b/examples/crossBuilds/simple2/jvm/shared
new file mode 120000
index 0000000..a12df7d
--- /dev/null
+++ b/examples/crossBuilds/simple2/jvm/shared
@@ -0,0 +1 @@
+../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
new file mode 100644
index 0000000..1b7be56
--- /dev/null
+++ b/examples/crossBuilds/simple2/jvm/src/main/scala/simple/Platform.scala
@@ -0,0 +1,13 @@
+//jvm/src/main/scala/simple/Platform.scala
+package simple
+import java.text.SimpleDateFormat
+
+object Platform{
+ def format(ts: Long) = {
+ val fmt =
+ "MMMM d, yyyy h:mm:ss aaa z"
+ new SimpleDateFormat(fmt).format(
+ new java.util.Date(ts)
+ )
+ }
+} \ No newline at end of file
diff --git a/examples/crossBuilds/simple2/project/build.sbt b/examples/crossBuilds/simple2/project/build.sbt
new file mode 100644
index 0000000..5bd83ce
--- /dev/null
+++ b/examples/crossBuilds/simple2/project/build.sbt
@@ -0,0 +1,4 @@
+/*project/build.sbt*/
+addSbtPlugin("org.scala-lang.modules.scalajs" % "scalajs-sbt-plugin" % "0.5.5")
+
+addSbtPlugin("com.lihaoyi" % "utest-js-plugin" % "0.2.4") \ No newline at end of file