Skip to content
This repository has been archived by the owner on Dec 25, 2021. It is now read-only.

Commit

Permalink
Merge pull request #2 from mscharley/multi-project
Browse files Browse the repository at this point in the history
Multi project
  • Loading branch information
mscharley committed May 20, 2016
2 parents ac35414 + 3393536 commit cbd480c
Show file tree
Hide file tree
Showing 22 changed files with 78 additions and 265 deletions.
12 changes: 12 additions & 0 deletions .ctags
@@ -0,0 +1,12 @@
--langdef=scala
--langmap=scala:.scala
--regex-scala=/^[ \t]*((abstract|final|sealed|implicit|lazy)[ \t]*)*(private|protected)?[ \t]*class[ \t]+([a-zA-Z0-9_]+)/\4/c,classes/
--regex-scala=/^[ \t]*((abstract|final|sealed|implicit|lazy)[ \t]*)*(private|protected)?[ \t]*object[ \t]+([a-zA-Z0-9_]+)/\4/c,objects/
--regex-scala=/^[ \t]*((abstract|final|sealed|implicit|lazy)[ \t]*)*(private|protected)?[ \t]*case class[ \t]+([a-zA-Z0-9_]+)/\4/c,case classes/
--regex-scala=/^[ \t]*((abstract|final|sealed|implicit|lazy)[ \t]*)*(private|protected)?[ \t]*case object[ \t]+([a-zA-Z0-9_]+)/\4/c,case objects/
--regex-scala=/^[ \t]*((abstract|final|sealed|implicit|lazy)[ \t]*)*(private|protected)?[ \t]*trait[ \t]+([a-zA-Z0-9_]+)/\4/t,traits/
--regex-scala=/^[ \t]*type[ \t]+([a-zA-Z0-9_]+)/\1/T,types/
--regex-scala=/^[ \t]*((abstract|final|sealed|implicit|lazy)[ \t]*)*def[ \t]+([a-zA-Z0-9_]+)/\3/m,methods/
--regex-scala=/^[ \t]*((abstract|final|sealed|implicit|lazy)[ \t]*)*val[ \t]+([a-zA-Z0-9_]+)/\3/l,constants/
--regex-scala=/^[ \t]*((abstract|final|sealed|implicit|lazy)[ \t]*)*var[ \t]+([a-zA-Z0-9_]+)/\3/l,variables/
--regex-scala=/^[ \t]*package[ \t]+([a-zA-Z0-9_.]+)/\1/p,packages/
2 changes: 2 additions & 0 deletions .gitignore
@@ -1,2 +1,4 @@
node_modules
target
/tags
/src/electron/scalajs-electron-quick-start*
19 changes: 12 additions & 7 deletions build.sbt
@@ -1,11 +1,16 @@
// This is a Scala.js project.
enablePlugins(ScalaJSPlugin)
// Use Node.
scalaJSUseRhino in Global := false

name := "electron-scala"
scalaVersion := "2.11.8"
lazy val ElectronQuickStart = (project in file(".")).
settings(
name := "scalajs-electron-quick-start",
version := "1.0.0",
scalaVersion := "2.11.8",

libraryDependencies ++= Seq(
"org.scala-js" %%% "scalajs-dom" % "0.9.0"
)
resolvers += Resolver.sonatypeRepo("public"),
libraryDependencies ++= Seq(
"org.scala-js" %%% "scalajs-dom" % "0.9.0",
"com.mscharley" %%% "scalajs-electron" % "0.1.0",
"com.mscharley" %%% "scalajs-nodejs" % "0.1.0"
)
).enablePlugins(ScalaJSPlugin)
4 changes: 2 additions & 2 deletions package.json
Expand Up @@ -3,8 +3,8 @@
"version": "1.0.0",
"description": "A minimal Electron application with Scala.js support",
"scripts": {
"start": "sbt fullOptJS && electron target/scala-2.11/classes/entry.js",
"debug": "sbt clean fastOptJS && electron target/scala-2.11/classes/entry.js",
"start": "rm -fv src/electron/${npm_package_name}* && sbt fullOptJS && cp -v target/scala-*/${npm_package_name}* src/electron/ && electron src/electron/entry.js",
"debug": "rm -fv src/electron/${npm_package_name}* && sbt clean fastOptJS && cp -v target/scala-*/${npm_package_name}* src/electron/ && electron src/electron/entry.js",
"test": "sbt test"
},
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion project/plugins.sbt
@@ -1 +1 @@
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.8")
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.9")
3 changes: 0 additions & 3 deletions renderer.js

This file was deleted.

14 changes: 14 additions & 0 deletions src/electron/entry.js
@@ -0,0 +1,14 @@
'use strict';

(function() {
require('source-map-support').install();
var appName = 'scalajs-electron-quick-start';
try {
require('./' + appName + '-opt');
}
catch (e) {
require('./' + appName + '-fastopt');
}

ElectronQuickStart.App(__dirname, require).main();
})();
22 changes: 17 additions & 5 deletions src/main/resources/index.html → src/electron/index.html
Expand Up @@ -3,6 +3,23 @@
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
<script>
(function() {
require('source-map-support').install();

var appName = 'scalajs-electron-quick-start';
try {
require('./' + appName + '-opt');
}
catch (e) {
require('./' + appName + '-fastopt');
}

window.onload = function() {
ElectronQuickStart.Window();
}
})();
</script>
</head>
<body>
<h1>Hello World!</h1>
Expand All @@ -11,9 +28,4 @@ <h1>Hello World!</h1>
Chromium <script>document.write(process.versions.chrome)</script>,
and Electron <script>document.write(process.versions.electron)</script>.
</body>

<script>
// You can also require other files to run in this process
require('./renderer.js')
</script>
</html>
15 changes: 0 additions & 15 deletions src/main/resources/entry.js

This file was deleted.

26 changes: 0 additions & 26 deletions src/main/scala/electron/Application.scala

This file was deleted.

27 changes: 0 additions & 27 deletions src/main/scala/electron/BrowserWindow.scala

This file was deleted.

8 changes: 0 additions & 8 deletions src/main/scala/electron/Electron.scala

This file was deleted.

12 changes: 0 additions & 12 deletions src/main/scala/electron/ElectronApp.scala

This file was deleted.

76 changes: 0 additions & 76 deletions src/main/scala/electron/WebContents.scala

This file was deleted.

@@ -1,15 +1,17 @@
package electronscala
package electron.quickstart

import electron._

import scala.scalajs.js.Dynamic.{literal => JsObject}
import scala.scalajs.js
import scala.scalajs.js.Dynamic.{global, literal => JsObject}
import scala.scalajs.js.annotation.JSExport

@JSExport("electronscala.App")
class App(dirName: String, rawElectron: raw.Electron) extends ElectronApp(rawElectron) {
@JSExport("ElectronQuickStart.App")
class App(dirName: String, require: js.Function1[String, js.Any]) extends ElectronApp(require("electron").asInstanceOf[raw.Electron]) {
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
var mainWindow: Option[BrowserWindow] = None
val console = global.console

val createWindow = () => {
// Create the browser window.
Expand All @@ -30,6 +32,8 @@ class App(dirName: String, rawElectron: raw.Electron) extends ElectronApp(rawEle
}

def main() = {
console.log("Starting scalajs-electron-quick-start...");

// This method will be called when Electron has finished initialization and is ready to create browser windows.
electronApp onceReady createWindow

Expand Down
10 changes: 10 additions & 0 deletions src/main/scala/electron/quickstart/Window.scala
@@ -0,0 +1,10 @@
package electron.quickstart

import scala.scalajs.js
import scala.scalajs.js.Dynamic.global
import scala.scalajs.js.annotation.JSExport

@JSExport("ElectronQuickStart.Window")
class Window {
global.document.getElementsByTagName("BODY").asInstanceOf[js.Array[js.Dynamic]].apply(0).style = "background: #eee;"
}
10 changes: 0 additions & 10 deletions src/main/scala/electron/raw/Application.scala

This file was deleted.

12 changes: 0 additions & 12 deletions src/main/scala/electron/raw/BrowserWindow.scala

This file was deleted.

11 changes: 0 additions & 11 deletions src/main/scala/electron/raw/Electron.scala

This file was deleted.

6 changes: 0 additions & 6 deletions src/main/scala/nodejs/Buffer.scala

This file was deleted.

18 changes: 0 additions & 18 deletions src/main/scala/nodejs/EventEmitter.scala

This file was deleted.

0 comments on commit cbd480c

Please sign in to comment.