aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2016-06-17 22:38:18 -0400
committerChristopher Vogt <oss.nsp@cvogt.org>2016-06-19 20:57:54 -0400
commit47cc41ecaa2eaf5677fcb1794db7bbba6533b559 (patch)
tree8708b8cd5954dfa03f2478b77440340c7664972b /examples
parent12d5bad267b5759e941b7101578808aeb6351e66 (diff)
downloadcbt-47cc41ecaa2eaf5677fcb1794db7bbba6533b559.tar.gz
cbt-47cc41ecaa2eaf5677fcb1794db7bbba6533b559.tar.bz2
cbt-47cc41ecaa2eaf5677fcb1794db7bbba6533b559.zip
refactor/simplify scalaJs plugin and example
- Restructure code as 1 library case class and 1 Build mixin trait. A library is generally easier to understand and could be re-used independently. 1 trait seems simpler than several here. - Let not the plugin create the multi-project build, but the user project manually. I think while this adds some minor code overhead it is much simpler to understand. Fewer tasks and other moving parts needed. - Remove verbose nested sbt-style folder structure. It's simpler without it :).
Diffstat (limited to 'examples')
-rw-r--r--examples/build-scalajs/build/build/build.scala7
-rw-r--r--examples/scalajs-react-example/README.md (renamed from examples/build-scalajs/README.md)0
-rw-r--r--examples/scalajs-react-example/js/App.scala (renamed from examples/build-scalajs/js/src/main/scala/App.scala)7
-rw-r--r--examples/scalajs-react-example/js/Pictures.scala (renamed from examples/build-scalajs/js/src/main/scala/Pictures.scala)3
-rw-r--r--examples/scalajs-react-example/js/build/build.scala (renamed from examples/build-scalajs/build/build.scala)16
-rw-r--r--examples/scalajs-react-example/js/build/build/build.scala4
-rw-r--r--examples/scalajs-react-example/jvm/build/build.scala6
-rw-r--r--examples/scalajs-react-example/server/app.js (renamed from examples/build-scalajs/server/app.js)0
-rw-r--r--examples/scalajs-react-example/server/package.json (renamed from examples/build-scalajs/server/package.json)0
-rw-r--r--examples/scalajs-react-example/server/public/index.html (renamed from examples/build-scalajs/server/public/index.html)0
-rw-r--r--examples/scalajs-react-example/shared/Picture.scala (renamed from examples/build-scalajs/shared/src/main/scala/prototype/Picture.scala)0
11 files changed, 17 insertions, 26 deletions
diff --git a/examples/build-scalajs/build/build/build.scala b/examples/build-scalajs/build/build/build.scala
deleted file mode 100644
index 19593f9..0000000
--- a/examples/build-scalajs/build/build/build.scala
+++ /dev/null
@@ -1,7 +0,0 @@
-import cbt._
-class Build(val context: Context) extends BuildBuild{
-
- override def dependencies =
- super.dependencies :+
- DirectoryDependency(new File(context.cbtHome + "/plugins/scalajs"))
-}
diff --git a/examples/build-scalajs/README.md b/examples/scalajs-react-example/README.md
index 74e015a..74e015a 100644
--- a/examples/build-scalajs/README.md
+++ b/examples/scalajs-react-example/README.md
diff --git a/examples/build-scalajs/js/src/main/scala/App.scala b/examples/scalajs-react-example/js/App.scala
index 2682936..0cd170e 100644
--- a/examples/build-scalajs/js/src/main/scala/App.scala
+++ b/examples/scalajs-react-example/js/App.scala
@@ -3,19 +3,12 @@ package prototype
import japgolly.scalajs.react.ReactDOM
import org.scalajs.dom
-import scala.scalajs.js
import scala.scalajs.js.JSApp
import scala.scalajs.js.annotation.JSExport
-import scalajs.js.Dynamic.{global => g}
-/**
- * Created by katrin on 2016-04-10.
- */
@JSExport("App")
object App extends JSApp {
-
def main(): Unit = {
-
val doc = dom.document
ReactDOM.render(Pictures.PictureComponent(), doc.getElementById("main"))
}
diff --git a/examples/build-scalajs/js/src/main/scala/Pictures.scala b/examples/scalajs-react-example/js/Pictures.scala
index 88329ee..db1d7ef 100644
--- a/examples/build-scalajs/js/src/main/scala/Pictures.scala
+++ b/examples/scalajs-react-example/js/Pictures.scala
@@ -8,9 +8,6 @@ import japgolly.scalajs.react.vdom.all._
import scala.scalajs.js.JSON
-/**
- * Created by katrin on 2016-04-10.
- */
object Pictures {
case class State(pictures: List[Picture], favourites: List[Picture])
diff --git a/examples/build-scalajs/build/build.scala b/examples/scalajs-react-example/js/build/build.scala
index 89ad030..29f1c73 100644
--- a/examples/build-scalajs/build/build.scala
+++ b/examples/scalajs-react-example/js/build/build.scala
@@ -1,9 +1,11 @@
import cbt._
-import java.io.File
-class Build( val context: Context ) extends ScalaJsBuild {
-
+class Build(val context: Context) extends ScalaJsBuild{
override val projectName = "my-project"
+ override def sources = super.sources ++ Seq(
+ projectDirectory.getParentFile ++ "/shared"
+ )
+
override def dependencies = (
super.dependencies ++
Resolver( mavenCentral ).bind(
@@ -14,11 +16,7 @@ class Build( val context: Context ) extends ScalaJsBuild {
)
)
- /* ++ some JVM only dependencies */
- override def jvmDependencies = Seq.empty
-
- override def fastOptOutput = {
- projectDirectory.getAbsolutePath + "/server/public/" + new File(super.fastOptOutput).getName
+ override protected def fastOptJSFile = {
+ projectDirectory.getParentFile ++ "/server/public" ++ ("/"++super.fastOptJSFile.getName)
}
}
-
diff --git a/examples/scalajs-react-example/js/build/build/build.scala b/examples/scalajs-react-example/js/build/build/build.scala
new file mode 100644
index 0000000..b30e005
--- /dev/null
+++ b/examples/scalajs-react-example/js/build/build/build.scala
@@ -0,0 +1,4 @@
+import cbt._
+class Build(val context: Context) extends BuildBuild{
+ override def dependencies = super.dependencies :+ plugins.scalaJs
+}
diff --git a/examples/scalajs-react-example/jvm/build/build.scala b/examples/scalajs-react-example/jvm/build/build.scala
new file mode 100644
index 0000000..327d705
--- /dev/null
+++ b/examples/scalajs-react-example/jvm/build/build.scala
@@ -0,0 +1,6 @@
+import cbt._
+class Build(val context: Context) extends BaseBuild{
+ override def sources = super.sources ++ Seq(
+ projectDirectory.getParentFile ++ "/shared"
+ )
+}
diff --git a/examples/build-scalajs/server/app.js b/examples/scalajs-react-example/server/app.js
index 620c26a..620c26a 100644
--- a/examples/build-scalajs/server/app.js
+++ b/examples/scalajs-react-example/server/app.js
diff --git a/examples/build-scalajs/server/package.json b/examples/scalajs-react-example/server/package.json
index d20ec98..d20ec98 100644
--- a/examples/build-scalajs/server/package.json
+++ b/examples/scalajs-react-example/server/package.json
diff --git a/examples/build-scalajs/server/public/index.html b/examples/scalajs-react-example/server/public/index.html
index 08de20d..08de20d 100644
--- a/examples/build-scalajs/server/public/index.html
+++ b/examples/scalajs-react-example/server/public/index.html
diff --git a/examples/build-scalajs/shared/src/main/scala/prototype/Picture.scala b/examples/scalajs-react-example/shared/Picture.scala
index dbb985a..dbb985a 100644
--- a/examples/build-scalajs/shared/src/main/scala/prototype/Picture.scala
+++ b/examples/scalajs-react-example/shared/Picture.scala