mrb 0.0.1 → 0.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8bb6d0e160ebb33813b85d595db3c87eb5f74e15
4
- data.tar.gz: 39173d4dfda81fb268d13cfd098a93737baedd96
3
+ metadata.gz: 0e68caa52ca6a184e69c02d8d2834088ff066d47
4
+ data.tar.gz: bf70b167e483d34d5233a42e9133b0f226f73802
5
5
  SHA512:
6
- metadata.gz: cd4c1796ffda77f980810a4fa0fe999f1e17f00c74a90fd40cf084d129538d7b5cb75bb794a2d617bf3adacd1891d1582c96f5bfd5159aed29fb5d197dd80fc6
7
- data.tar.gz: e7417782862f43a02cb385df0f3c2150d34de7ea98979a3da23100c0bb740d38a3a6d410fb56ffb000a274fdf5b9f4cdbdee185435de1ec251157b4506f46829
6
+ metadata.gz: 6c568fab86825a3b022b1905940cf6366080f52f6f4b72871889fd5a26980efa0fd992a33d074d074cf93013dd94b442f86f9899501b583fecc5b29555a14625
7
+ data.tar.gz: f38fbb73261d57b96c7c1ee01c875f984191d0c5e728338670e76996b02862d09e0d790f3041da36d3d2a189dbdcd77d048db1c40258963fef5d26076d7f95fc
@@ -0,0 +1,21 @@
1
+ MRuby::CrossBuild.new('<%= config['name'] %>') do |conf|
2
+ <% if config.key?('toolchain') %>
3
+ toolchain :<%= config['toolchain'] %>
4
+ <% end %>
5
+
6
+ <% if config.key?('debug') %>
7
+ enable_debug
8
+ <% end %>
9
+
10
+ <% config['gem'].each do |gem| %>
11
+ <% if gem.is_a?(String) %>
12
+ conf.gem '<%= gem %>'
13
+ <% elsif gem.is_a?(Hash) && gem.key?('github') %>
14
+ conf.gem :github => '<%= gem['github'] %>'
15
+ <% end %>
16
+ <% end %>
17
+
18
+ <% if config.key?('gembox') %>
19
+ conf.gembox '<%= config['gembox'] %>'
20
+ <% end %>
21
+ end
@@ -0,0 +1,21 @@
1
+ MRuby::Build.new('<%= config['name'] %>') do |conf|
2
+ <% if config.key?('toolchain') %>
3
+ toolchain :<%= config['toolchain'] %>
4
+ <% end %>
5
+
6
+ <% if config.key?('debug') %>
7
+ enable_debug
8
+ <% end %>
9
+
10
+ <% config['gem'].each do |gem| %>
11
+ <% if gem.is_a?(String) %>
12
+ conf.gem '<%= gem %>'
13
+ <% elsif gem.is_a?(Hash) && gem.key?('github') %>
14
+ conf.gem :github => '<%= gem['github'] %>'
15
+ <% end %>
16
+ <% end %>
17
+
18
+ <% if config.key?('gembox') %>
19
+ conf.gembox '<%= config['gembox'] %>'
20
+ <% end %>
21
+ end
data/lib/mrb/cli.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'thor'
2
2
  require 'erb'
3
3
  require 'fileutils'
4
+ require 'yaml'
4
5
 
5
6
  module Mrb
6
7
  class CLI < Thor
@@ -43,12 +44,29 @@ module Mrb
43
44
  puts " create #{full_name}/test/example.rb"
44
45
  end
45
46
 
46
- desc "config", "create mruby build config"
47
- def config()
48
- variables = {}
47
+ desc "config yml", "create mruby build config"
48
+ def config(file)
49
+ yaml = YAML.load_file(file)
50
+
51
+ text = ''
52
+ if yaml.key?('build')
53
+ yaml['build'].keys.each do |name|
54
+ config = yaml['build'][name]
55
+ config['name'] = name
56
+ text << Mrb::Template.render_config('config/build_config_host.erb', config)
57
+ end
58
+ end
59
+
60
+ if yaml.key?('cross_build')
61
+ yaml['cross_build'].keys.each do |name|
62
+ config = yaml['cross_build'][name]
63
+ config['name'] = name
64
+ text << Mrb::Template.render_config('config/build_config_crossbuild.erb', config)
65
+ end
66
+ end
49
67
 
50
68
  puts "Creating build_config.rb"
51
- File.write './build_config.rb', Mrb::Template.render('config/build_config.rb.erb', variables)
69
+ File.write "./build_config.rb", text.gsub(/^$\n/, '')
52
70
  end
53
71
 
54
72
  desc "version", "show version number"
data/lib/mrb/template.rb CHANGED
@@ -10,5 +10,17 @@ module Mrb
10
10
  def self.render(name, variables)
11
11
  ERB.new(self.read(name)).result(binding)
12
12
  end
13
+
14
+ def self.render_config(name, variables)
15
+ b = config_to_binding(variables)
16
+ ERB.new(self.read(name)).result(b)
17
+ end
18
+
19
+ private
20
+ def self.config_to_binding(config)
21
+ config = {} unless config.is_a?(Hash)
22
+ config['name'] = {} unless config.is_a?(Hash)
23
+ binding
24
+ end
13
25
  end
14
26
  end
data/lib/mrb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mrb
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - qtakamitsu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-30 00:00:00.000000000 Z
11
+ date: 2015-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -83,7 +83,8 @@ files:
83
83
  - LICENSE.txt
84
84
  - README.md
85
85
  - Rakefile
86
- - assets/templates/config/build_config.rb.erb
86
+ - assets/templates/config/build_config_crossbuild.erb
87
+ - assets/templates/config/build_config_host.erb
87
88
  - assets/templates/gem/README.md.erb
88
89
  - assets/templates/gem/example.c.erb
89
90
  - assets/templates/gem/mrbgem.rake.erb
@@ -1,27 +0,0 @@
1
- MRuby::Build.new do |conf|
2
- if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
3
- toolchain :visualcpp
4
- else
5
- toolchain :gcc
6
- end
7
-
8
- enable_debug
9
-
10
- conf.gembox 'default'
11
- end
12
-
13
- MRuby::Build.new('host-debug') do |conf|
14
- if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
15
- toolchain :visualcpp
16
- else
17
- toolchain :gcc
18
- end
19
-
20
- enable_debug
21
-
22
- conf.gembox 'default'
23
-
24
- conf.cc.defines = %w(ENABLE_DEBUG)
25
-
26
- conf.gem :core => "mruby-bin-debugger"
27
- end