diff options
author | Christopher Vogt <oss.nsp@cvogt.org> | 2016-06-17 22:38:18 -0400 |
---|---|---|
committer | Christopher Vogt <oss.nsp@cvogt.org> | 2016-06-19 20:57:54 -0400 |
commit | 47cc41ecaa2eaf5677fcb1794db7bbba6533b559 (patch) | |
tree | 8708b8cd5954dfa03f2478b77440340c7664972b /examples | |
parent | 12d5bad267b5759e941b7101578808aeb6351e66 (diff) | |
download | cbt-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.scala | 7 | ||||
-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.scala | 4 | ||||
-rw-r--r-- | examples/scalajs-react-example/jvm/build/build.scala | 6 | ||||
-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 |