esruby 0.0.11 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +0 -1
- data/lib/esruby/build.rb +1 -0
- data/resources/build_config.eruby +5 -0
- data/resources/project_template/config.rb +22 -4
- data/resources/project_template/www/index.html +1 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d614cc7210c710ff67fdffaba4e7eac223438211
|
4
|
+
data.tar.gz: 4a21c975dbc5871608ec59acc9c5f980d720129d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82cb55bf183e31bb6ef5fb28c4caa06befdd3400c6262d46b5db72cfeb3c03464f67500cdbc11037ac81b54fccdb26a637faa5ead14d6b11fc3482bdfcc972b7
|
7
|
+
data.tar.gz: 99639d32ffb865e6d4255fd8913cb9ef28c57cde62357a9efa32f40a7d8d3b893602bdc0b5d3764c85efcbf975ff41a1b441de48b322cfac14071166dcb5a6fe
|
data/README.md
CHANGED
@@ -30,7 +30,6 @@ to your `.bashrc` and `.profile`
|
|
30
30
|
# Try
|
31
31
|
* create a new esruby project with `esruby new project`
|
32
32
|
* `cd project`
|
33
|
-
* download the gem `https://github.com/robfors/esruby-esruby` and put it in `gems/`
|
34
33
|
* build the project with `esruby build config.rb`
|
35
34
|
* you will now have `www/app.js` and `www/index.html`
|
36
35
|
* a simple way to serve these files would be `ruby -run -e httpd www -p 4444`
|
data/lib/esruby/build.rb
CHANGED
@@ -128,6 +128,7 @@ module ESRuby
|
|
128
128
|
RakeFileUtils.sh "emcc -std=c++11 --bind -I #{mruby_directory}/include #{gem_directory}/resources/cpp/main.cpp -o #{build_directory}/main.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument}"
|
129
129
|
RakeFileUtils.sh "emcc --bind -I #{mruby_directory}/include -o #{build_directory}/output.js #{build_directory}/app.o #{build_directory}/main.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument}"
|
130
130
|
#if build.build_mode == 'production'
|
131
|
+
# ENV["EMCC_CLOSURE_ARGS"] = "--language_in=ECMASCRIPT6" #possibly allow setting output: --language_out=ECMASCRIPT6
|
131
132
|
# sh "java -jar #{PROJECT_DIRECTORY}/emsdk/emscripten/incoming/third_party/closure-compiler/compiler.jar --js #{build.absolute_build_directory}/output.js --js_output_file #{build.absolute_output}"
|
132
133
|
#else
|
133
134
|
FileUtils.cp("#{build_directory}/output.js", "#{output}")
|
@@ -48,6 +48,11 @@ MRuby::CrossBuild.new('app') do |conf|
|
|
48
48
|
end
|
49
49
|
|
50
50
|
|
51
|
+
# we monkey patch the mruby build process to extract the list of gems
|
52
|
+
# this allows the esruby config.rb file to accept any format of gem listing that
|
53
|
+
# mruby's build_config.rb accepts without reimplementing a bunch of mruby's
|
54
|
+
# functionally
|
55
|
+
# the esruby build process will simply pass each gem entry without interpreting it
|
51
56
|
module MRuby
|
52
57
|
module Gem
|
53
58
|
class List
|
@@ -1,19 +1,37 @@
|
|
1
1
|
# This file sets up the build environment for a webruby project.
|
2
2
|
ESRuby::Build.new do |conf|
|
3
3
|
|
4
|
+
# set the path of the esruby project
|
5
|
+
# all other paths specified in this config file will be expanded
|
6
|
+
# relative to this path
|
4
7
|
conf.project_directory = File.dirname(__FILE__)
|
5
8
|
|
9
|
+
# list as many ruby source files as you want
|
10
|
+
# keep in mind they will be executed in the order you list them
|
6
11
|
conf.add_ruby_source 'app/app.rb'
|
12
|
+
|
13
|
+
# list as many javascript source files as you want
|
14
|
+
# keep in mind they will be executed in the order you list them
|
15
|
+
# prepended files will be executed after all of the gemss' prepended
|
16
|
+
# javascript files but before the ruby interpreter is started
|
17
|
+
# and any ruby source files are executed
|
7
18
|
#conf.add_prepended_js_source 'app/prepend.js'
|
19
|
+
# appended files will be executed after the ruby interpreter has finished
|
20
|
+
# executing the all the ruby source files and after all of the gem's
|
21
|
+
# appended javascript files
|
22
|
+
# the interpreter will be in an idle state so you will still be able to
|
23
|
+
# make calls to it
|
8
24
|
#conf.add_appended_js_source 'app/append.js'
|
9
25
|
|
10
|
-
#
|
11
|
-
|
26
|
+
# temporary build directory
|
27
|
+
# by default the build directory is "build/"
|
28
|
+
#conf.build_directory = 'build'
|
12
29
|
|
13
30
|
# note: dont change this yet
|
14
31
|
# Use :production for O2 mode build, and :development for O0 mode.
|
15
|
-
# Or you can
|
32
|
+
# Or you can use '-O0', '-O1', '-O2', '-O3', etc. directly
|
16
33
|
# note :production mode is still having trouble working
|
34
|
+
# emscripten need to support ES6 before we can run this optimization
|
17
35
|
#conf.build_mode = :production
|
18
36
|
conf.build_mode = :development
|
19
37
|
|
@@ -32,6 +50,6 @@ ESRuby::Build.new do |conf|
|
|
32
50
|
|
33
51
|
# JavaScript binding interface
|
34
52
|
# see: https://github.com/robfors/esruby-bind for more info
|
35
|
-
#
|
53
|
+
#conf.add_gem :github => 'robfors/esruby-bind'
|
36
54
|
|
37
55
|
end
|
@@ -3,8 +3,6 @@
|
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8">
|
5
5
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
8
6
|
|
9
7
|
<title>esruby app</title>
|
10
8
|
|
@@ -12,6 +10,6 @@
|
|
12
10
|
|
13
11
|
</head>
|
14
12
|
<body>
|
15
|
-
<p>esruby app
|
13
|
+
<p>esruby app</p>
|
16
14
|
</body>
|
17
15
|
</html>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: esruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rob Fors
|
@@ -439,7 +439,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
439
439
|
version: '0'
|
440
440
|
requirements: []
|
441
441
|
rubyforge_project:
|
442
|
-
rubygems_version: 2.
|
442
|
+
rubygems_version: 2.4.8
|
443
443
|
signing_key:
|
444
444
|
specification_version: 4
|
445
445
|
summary: Ruby running in the browser
|