summaryrefslogtreecommitdiff
path: root/examples/crossBuilds/simple
diff options
context:
space:
mode:
Diffstat (limited to 'examples/crossBuilds/simple')
-rw-r--r--examples/crossBuilds/simple/build.sbt8
-rw-r--r--examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala18
-rw-r--r--examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala23
-rw-r--r--examples/crossBuilds/simple/project/build.sbt1
-rw-r--r--examples/crossBuilds/simple/shared/main/scala/simple/Simple.scala9
5 files changed, 59 insertions, 0 deletions
diff --git a/examples/crossBuilds/simple/build.sbt b/examples/crossBuilds/simple/build.sbt
new file mode 100644
index 0000000..df0c84b
--- /dev/null
+++ b/examples/crossBuilds/simple/build.sbt
@@ -0,0 +1,8 @@
+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(
+ unmanagedSourceDirectories in Compile +=
+ baseDirectory.value / ".." / "shared" / "main" / "scala"
+) \ No newline at end of file
diff --git a/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala b/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala
new file mode 100644
index 0000000..40f65f4
--- /dev/null
+++ b/examples/crossBuilds/simple/js/src/main/scala/simple/Platform.scala
@@ -0,0 +1,18 @@
+/*js/src/main/scala/simple/Platform.scala*/
+package simple
+import scala.scalajs.js
+
+object Platform extends js.JSApp{
+ def format(ts: Long) = {
+ new js.Date(ts).toLocaleString();
+ }
+ def main() = {
+ println("simple.js")
+ val times = Seq(
+ System.currentTimeMillis(),
+ System.currentTimeMillis() + 1000,
+ System.currentTimeMillis() + 2000
+ )
+ println(Simple.formatTimestamps(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
new file mode 100644
index 0000000..af70429
--- /dev/null
+++ b/examples/crossBuilds/simple/jvm/src/main/scala/simple/Platform.scala
@@ -0,0 +1,23 @@
+/*jvm/src/main/scala/simple/Platform.scala*/
+package simple
+import java.text.SimpleDateFormat
+
+object Platform{
+ def format(ts: Long) = {
+ // http://docs.oracle.com/javase/7/
+ // docs/api/java/text/SimpleDateFormat.html
+ val fmt = "MMMM d, yyyy h:mm:ss aaa z"
+ new SimpleDateFormat(fmt).format(
+ new java.util.Date(ts)
+ )
+ }
+ def main(args: Array[String]) = {
+ println("simple.jvm")
+ val times = Seq(
+ System.currentTimeMillis(),
+ System.currentTimeMillis() + 1000,
+ System.currentTimeMillis() + 2000
+ )
+ println(Simple.formatTimestamps(times))
+ }
+} \ No newline at end of file
diff --git a/examples/crossBuilds/simple/project/build.sbt b/examples/crossBuilds/simple/project/build.sbt
new file mode 100644
index 0000000..5ac559a
--- /dev/null
+++ b/examples/crossBuilds/simple/project/build.sbt
@@ -0,0 +1 @@
+addSbtPlugin("org.scala-lang.modules.scalajs" % "scalajs-sbt-plugin" % "0.5.5") \ No newline at end of file
diff --git a/examples/crossBuilds/simple/shared/main/scala/simple/Simple.scala b/examples/crossBuilds/simple/shared/main/scala/simple/Simple.scala
new file mode 100644
index 0000000..4e693e4
--- /dev/null
+++ b/examples/crossBuilds/simple/shared/main/scala/simple/Simple.scala
@@ -0,0 +1,9 @@
+/*shared/main/scala/simple/Simple.scala*/
+package simple
+object Simple{
+ def formatTimestamps(timestamps: Seq[Long]) = {
+ timestamps.map(Platform.format)
+ .mkString("\n")
+ }
+ }
+} \ No newline at end of file