mrb 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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